/* GANTRY5 DEVELOPMENT MODE ENABLED.
 *
 * WARNING: This file is automatically generated by Gantry5. Any modifications to this file will be lost!
 *
 * For more information on modifying CSS, please read:
 *
 * http://docs.gantry.org/gantry5/configure/styles
 * http://docs.gantry.org/gantry5/tutorials/adding-a-custom-style-sheet
 */

@charset "UTF-8";
/* ============================================
   SI ROSARIO 2026 — Entry Style Sheet
   V Jornadas de Infectología Rosario 2026
   ============================================ */
@import url("https://fonts.googleapis.com/css2?family=Spline+Sans:wght@400;500;600;700;800;900&family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,700;1,9..40,400&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:wght,FILL@100..700,0..1&display=swap");
/* ============================================
   NEON SLATE — Design Tokens
   V Jornadas de Infectología Rosario 2026
   ============================================ */
:root {
  /* ── Color Palette ── */
  --surface: #fbf8ff;
  --surface-dim: #dad9e6;
  --surface-bright: #fbf8ff;
  --surface-container-lowest: #ffffff;
  --surface-container-low: #f4f2ff;
  --surface-container: #eeecfa;
  --surface-container-high: #e8e7f4;
  --surface-container-highest: #e2e1ef;
  --on-surface: #1a1b24;
  --on-surface-variant: #3b4a42;
  --inverse-surface: #2f303a;
  --inverse-on-surface: #f1effd;
  --outline: #6b7b72;
  --outline-variant: #bacbc0;
  --primary: #006c4d;
  --on-primary: #ffffff;
  --primary-container: #00e2a5;
  --on-primary-container: #005f43;
  --secondary: #5f588c;
  --on-secondary: #ffffff;
  --secondary-container: #cbc2fe;
  --on-secondary-container: #554e81;
  --tertiary: #5e549f;
  --on-tertiary: #ffffff;
  --tertiary-container: #c9c0ff;
  --error: #ba1a1a;
  --on-error: #ffffff;
  /* ── Hero / Dark surfaces ── */
  --hero-bg-start: #0a1128;
  --hero-bg-mid: #101d42;
  --hero-bg-end: #1c3066;
  --dark-surface: #0a0a0a;
  --dark-card: #0f172a;
  /* ── Track accent colors ── */
  --track-1: #3b82f6;
  --track-2: #10b981;
  --track-3: #8b5cf6;
  --track-4: #f59e0b;
  --track-5: #ec4899;
  --track-6: #06b6d4;
  --track-7: #ef4444;
  /* ── Typography ── */
  --font-display: "Spline Sans", system-ui, sans-serif;
  --font-body: "DM Sans", system-ui, sans-serif;
  --text-xs: clamp(0.625rem, 0.6rem + 0.1vw, 0.75rem);
  --text-sm: clamp(0.75rem, 0.7rem + 0.15vw, 0.875rem);
  --text-base: clamp(0.9375rem, 0.9rem + 0.15vw, 1rem);
  --text-lg: clamp(1.05rem, 1rem + 0.2vw, 1.25rem);
  --text-xl: clamp(1.15rem, 1rem + 0.5vw, 1.375rem);
  --text-2xl: clamp(1.4rem, 1.1rem + 1vw, 1.75rem);
  --text-3xl: clamp(1.75rem, 1.3rem + 1.5vw, 2.25rem);
  --text-4xl: clamp(2rem, 1.4rem + 2vw, 3rem);
  --text-hero: clamp(2.5rem, 1.5rem + 4vw, 5.5rem);
  /* ── Spacing (8px grid) ── */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-20: 5rem;
  --space-24: 6rem;
  /* ── Radii ── */
  --radius-sm: 0.25rem;
  --radius-md: 0.5rem;
  --radius-lg: 1rem;
  --radius-xl: 1.5rem;
  --radius-2xl: 2rem;
  --radius-full: 9999px;
  /* ── Shadows ── */
  --shadow-sm: 0 1px 3px oklch(20% 0.01 260 / 0.06);
  --shadow-md: 0 4px 16px oklch(20% 0.01 260 / 0.08);
  --shadow-lg: 0 12px 40px oklch(20% 0.01 260 / 0.1);
  --shadow-glow: 0 0 30px oklch(75% 0.18 165 / 0.5);
  --shadow-glow-strong: 0 0 50px oklch(75% 0.18 165 / 0.7);
  /* ── Motion ── */
  --ease-out-quart: cubic-bezier(0.25, 1, 0.5, 1);
  --ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
  --duration-fast: 150ms;
  --duration-normal: 300ms;
  --duration-slow: 500ms;
  /* ── Layout ── */
  --container-max: 82rem;
  --gutter: clamp(1rem, 0.5rem + 2vw, 2.5rem);
}
@media (prefers-reduced-motion: reduce) {
  :root {
    --duration-fast: 0ms;
    --duration-normal: 0ms;
    --duration-slow: 0ms;
  }
}
/* ============================================
   BASE — Reset + Global Styles
   ============================================ */
/* Apply box-sizing globally */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
html {
  scroll-behavior: smooth;
  scroll-padding-top: 90px;
  /* Offset to prevent fixed navbar from covering anchor targets */
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  hanging-punctuation: first last;
}
body {
  font-family: var(--font-body);
  font-size: var(--text-base);
  line-height: 1.6;
  color: var(--on-surface);
  background-color: var(--surface);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-kerning: normal;
}
/* Adjust layout to prevent the fixed navbar (approx. 80px high) from covering content */
body:has(.navbar) {
  padding-top: 80px;
}
body:has(.navbar):has(.hero) {
  padding-top: 0;
  /* Let the hero bleed behind the semi-transparent navbar on home/landing pages */
}
/* Joomla core and template layouts can sometimes overwrite overflow-x, let's keep it safe */
body.gantry {
  overflow-x: hidden;
}
img, picture, video, svg {
  display: block;
  max-width: 100%;
  height: auto;
}
a {
  color: inherit;
  text-decoration: none;
}
button {
  font: inherit;
  cursor: pointer;
  border: none;
  background: none;
}
ul, ol {
  list-style: none;
}
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-display);
  font-weight: 700;
  line-height: 1.15;
  text-wrap: balance;
  color: var(--on-surface);
}
p {
  text-wrap: pretty;
  max-width: 70ch;
}
/* Reset spacing on tag-level elements inside our custom sections to override Gantry/Bootstrap default margins */
:where(.navbar, .hero, .impact-strip, .tracks, .cta-section, .gallery, .pricing, .faq, .sponsors, .footer, .mobile-menu, .authorities-page) p, :where(.navbar, .hero, .impact-strip, .tracks, .cta-section, .gallery, .pricing, .faq, .sponsors, .footer, .mobile-menu, .authorities-page) h1, :where(.navbar, .hero, .impact-strip, .tracks, .cta-section, .gallery, .pricing, .faq, .sponsors, .footer, .mobile-menu, .authorities-page) h2, :where(.navbar, .hero, .impact-strip, .tracks, .cta-section, .gallery, .pricing, .faq, .sponsors, .footer, .mobile-menu, .authorities-page) h3, :where(.navbar, .hero, .impact-strip, .tracks, .cta-section, .gallery, .pricing, .faq, .sponsors, .footer, .mobile-menu, .authorities-page) h4, :where(.navbar, .hero, .impact-strip, .tracks, .cta-section, .gallery, .pricing, .faq, .sponsors, .footer, .mobile-menu, .authorities-page) h5, :where(.navbar, .hero, .impact-strip, .tracks, .cta-section, .gallery, .pricing, .faq, .sponsors, .footer, .mobile-menu, .authorities-page) h6, :where(.navbar, .hero, .impact-strip, .tracks, .cta-section, .gallery, .pricing, .faq, .sponsors, .footer, .mobile-menu, .authorities-page) ul, :where(.navbar, .hero, .impact-strip, .tracks, .cta-section, .gallery, .pricing, .faq, .sponsors, .footer, .mobile-menu, .authorities-page) ol, :where(.navbar, .hero, .impact-strip, .tracks, .cta-section, .gallery, .pricing, .faq, .sponsors, .footer, .mobile-menu, .authorities-page) li {
  margin: 0;
  padding: 0;
}
.material-symbols-outlined {
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;
  vertical-align: middle;
}
/* ── Utility: Container ── */
.container {
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--gutter);
}
/* ── Utility: Screen-reader only ── */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
/* ── Focus visible ── */
:focus-visible {
  outline: 2px solid var(--primary-container);
  outline-offset: 3px;
  border-radius: var(--radius-sm);
}
/* ── Gantry 5 Framework Layout & Colors Reset ── */
#g-page-surround {
  box-shadow: none !important;
  background-color: var(--surface) !important;
  color: var(--on-surface) !important;
}
#g-header, #g-navigation, #g-showcase, #g-feature, #g-main, #g-subfeature, #g-bottom, #g-afterbottom, #g-footer {
  padding: 0 !important;
  background: transparent !important;
  color: inherit !important;
}
#g-navigation, #g-header {
  position: relative;
  z-index: 100 !important;
  /* Prevents showcase (hero with z-index: 2) from overlapping the navigation bar when scrolling */
}
/* Vertical padding for custom sections at the bottom */
#g-bottom {
  padding-top: var(--space-24, 6rem) !important;
  padding-bottom: var(--space-12, 3rem) !important;
  background-color: #fefdff !important;
}
#g-afterbottom {
  padding-top: var(--space-12, 3rem) !important;
  padding-bottom: var(--space-24, 6rem) !important;
  background-color: #fefdff !important;
}
/* Remove default Gantry spacing to let our design tokens take absolute control */
.g-wrapper {
  padding: 0 !important;
  margin: 0 !important;
}
.g-container {
  padding: 0 !important;
  margin: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
}
.g-grid {
  margin: 0 !important;
  padding: 0 !important;
}
.g-block {
  padding: 0 !important;
  margin: 0 !important;
}
.g-content {
  padding: 0 !important;
  margin: 0 !important;
}
/* Override Gantry link style inherits that clash with our base colors */
#g-page-surround a {
  color: inherit;
  text-decoration: none;
}
#g-page-surround a:hover, #g-page-surround a:focus {
  color: inherit;
  text-decoration: none;
}
/* Neutralize the global `h1, h2, h3, h4, h5, h6, strong` color declaration from Gantry framework */
strong {
  color: inherit !important;
}
/* ============================================
   COMPONENTS — All UI Components
   ============================================ */
/* ── Buttons ── */
.btn, .button, #g-page-surround .button, #g-page-surround a.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  font-family: var(--font-display);
  font-weight: 700;
  border-radius: var(--radius-md) !important;
  /* 0.5rem */
  transition: transform var(--duration-fast) var(--ease-out-quart), box-shadow var(--duration-normal) var(--ease-out-quart), opacity var(--duration-fast), filter var(--duration-fast), background var(--duration-fast), color var(--duration-fast);
  white-space: nowrap;
  text-decoration: none !important;
  border: none !important;
  cursor: pointer;
}
.btn:active:not(:disabled), .button:active:not(:disabled), #g-page-surround .button:active:not(:disabled) {
  transform: scale(0.96);
}
.btn:disabled, .button:disabled, #g-page-surround .button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  filter: grayscale(0.5);
}
.btn--primary {
  background: var(--primary-container);
  color: var(--on-primary-container) !important;
  padding: var(--space-4) var(--space-8);
  font-size: var(--text-lg);
  box-shadow: var(--shadow-glow);
}
.btn--primary:hover:not(:disabled) {
  background: var(--primary);
  color: #fff !important;
  transform: scale(1.04);
  box-shadow: var(--shadow-glow-strong);
}
.btn-primary, .button-primary, .button, #g-page-surround .button, #g-page-surround a.button {
  background: var(--primary-container) !important;
  color: var(--on-primary-container) !important;
  padding: var(--space-4) var(--space-8) !important;
  font-size: var(--text-lg) !important;
  box-shadow: var(--shadow-glow) !important;
}
.button:hover:not(:disabled), #g-page-surround .button:hover:not(:disabled), .btn-primary:hover:not(:disabled) {
  background: var(--primary) !important;
  color: #fff !important;
  transform: scale(1.04) !important;
  box-shadow: var(--shadow-glow-strong) !important;
}
.btn--primary-lg {
  background: var(--primary-container);
  color: var(--on-primary-container) !important;
  padding: var(--space-5) var(--space-10);
  font-size: var(--text-xl);
  box-shadow: var(--shadow-glow);
}
.btn--primary-lg:hover:not(:disabled) {
  transform: scale(1.04);
  box-shadow: var(--shadow-glow-strong);
}
.btn--outline {
  border: 1px solid oklch(100% 0 0/0.3);
  color: #fff !important;
  padding: var(--space-5) var(--space-10);
  font-size: var(--text-xl);
  transition: background var(--duration-normal) var(--ease-out-quart), transform var(--duration-fast) var(--ease-out-quart);
}
.btn--outline:hover:not(:disabled) {
  background: oklch(100% 0 0/0.08);
}
.btn--dark, .btn-secondary, .btn-default, .button-secondary, .button-default {
  background: var(--dark-card) !important;
  color: #fff !important;
  border: 1px solid oklch(100% 0 0/0.15) !important;
  padding: var(--space-4) var(--space-8) !important;
  font-size: var(--text-lg) !important;
  font-weight: 800 !important;
  box-shadow: none !important;
}
.btn--dark:hover:not(:disabled), .btn-secondary:hover:not(:disabled), .button-secondary:hover:not(:disabled), .button-default:hover:not(:disabled) {
  background: oklch(20% 0.02 250) !important;
  transform: scale(1.02) !important;
}
.btn--glow-pulse {
  animation: pulse-glow 3s ease-in-out infinite;
}
/* ── Navbar fallback/extensions ── */
.navbar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  display: block !important;
  /* Neutralizes Bootstrap 5's display: flex on outline 14 (inner pages) */
  padding: 0 !important;
  /* Neutralizes Bootstrap 5's padding overrides */
  background: oklch(100% 0 0/0.92);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid oklch(80% 0.01 260/0.3);
  transition: box-shadow var(--duration-normal) var(--ease-out-quart);
}
.navbar.scrolled {
  box-shadow: var(--shadow-md);
}
.navbar__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--space-4) var(--gutter);
  max-width: calc(var(--container-max) + 2 * var(--gutter));
  width: 100%;
  margin-inline: auto;
}
.navbar__brand {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: var(--text-sm);
  text-transform: uppercase;
  letter-spacing: -0.03em;
  color: var(--on-surface);
}
.navbar__links {
  display: none;
  align-items: center;
  gap: var(--space-8);
}
.navbar__links a {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: var(--text-sm);
  color: var(--on-surface);
  padding: var(--space-2) var(--space-1);
  transition: color var(--duration-fast) var(--ease-out-quart);
  position: relative;
}
.navbar__links a::after {
  content: "";
  position: absolute;
  bottom: -4px;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--primary-container);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--duration-normal) var(--ease-out-expo);
}
.navbar__links a:hover::after, .navbar__links a.active::after {
  transform: scaleX(1);
}
.navbar__links a.active {
  color: var(--primary);
}
@media (min-width: 1024px) {
  .navbar__links {
    display: flex;
  }
  .navbar__toggle {
    display: none !important;
  }
}
.navbar__actions {
  display: flex;
  align-items: center;
  gap: var(--space-4);
}
.navbar__login {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: var(--text-sm);
  color: var(--on-surface);
  display: none;
}
@media (min-width: 1024px) {
  .navbar__login {
    display: block;
  }
}
.navbar__register {
  display: none;
  font-size: var(--text-sm);
  padding: var(--space-2) var(--space-5);
}
@media (min-width: 1024px) {
  .navbar__register {
    display: inline-flex;
  }
}
.navbar__toggle {
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding: var(--space-3);
}
.navbar__toggle span {
  display: block;
  width: 22px;
  height: 2px;
  background: var(--on-surface);
  border-radius: 2px;
  transition: transform var(--duration-normal) var(--ease-out-expo), opacity var(--duration-fast);
}
.navbar__toggle.open span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}
.navbar__toggle.open span:nth-child(2) {
  opacity: 0;
}
.navbar__toggle.open span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}
/* ── Mobile Menu ── */
.mobile-menu {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: oklch(100% 0 0/0.97);
  backdrop-filter: blur(20px);
  z-index: 99;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--space-8);
  transform: translateY(-100%);
  opacity: 0;
  transition: transform var(--duration-slow) var(--ease-out-expo), opacity var(--duration-normal) var(--ease-out-quart);
}
.mobile-menu.open {
  transform: translateY(0);
  opacity: 1;
}
.mobile-menu a {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: var(--text-3xl);
  color: var(--on-surface);
  transition: color var(--duration-fast);
}
.mobile-menu a:hover {
  color: var(--primary);
}
.mobile-menu a.mobile-menu__login {
  font-size: var(--text-xl);
  color: var(--on-surface-variant);
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: var(--space-1);
  margin-top: var(--space-4);
}
.mobile-menu a.mobile-menu__login:hover {
  color: var(--primary);
}
/* ── Badge / Chip ── */
.chip {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-2) var(--space-5);
  border-radius: var(--radius-full);
  font-family: var(--font-body);
  font-weight: 500;
  font-size: var(--text-xs);
  text-transform: uppercase;
  letter-spacing: 0.12em;
}
.chip--hero {
  background: var(--dark-card);
  color: var(--primary-container);
  border: 1px solid oklch(100% 0 0/0.15);
  font-weight: 700;
  box-shadow: var(--shadow-sm);
}
/* ── Countdown Box ── */
.countdown-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  background: var(--dark-card);
  border-radius: var(--radius-lg);
  padding: var(--space-4);
  min-width: 5.5rem;
  border: 1px solid oklch(100% 0 0/0.15);
  box-shadow: 0 8px 32px oklch(0% 0 0/0.3);
}
.countdown-item__value {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: var(--text-3xl);
  color: var(--primary-container);
  font-variant-numeric: tabular-nums;
}
.countdown-item__label {
  font-size: var(--text-sm);
  color: oklch(88% 0.02 260);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-weight: 600;
  margin-top: var(--space-1);
}
/* ── Track Card ── */
.track-card {
  background: var(--surface-container-lowest);
  border-radius: var(--radius-lg);
  padding: var(--space-6);
  border: 1px solid var(--outline-variant);
  transition: box-shadow var(--duration-normal) var(--ease-out-quart), transform var(--duration-normal) var(--ease-out-quart);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 6rem;
  position: relative;
  overflow: hidden;
  cursor: pointer;
}
.track-card__icon {
  position: absolute;
  top: var(--space-4);
  right: var(--space-4);
  font-size: 1.5rem;
  color: var(--track-color);
  opacity: 0.3;
  transition: opacity var(--duration-normal) var(--ease-out-quart), transform var(--duration-normal) var(--ease-out-quart);
}
.track-card:hover .track-card__icon, .track-card:focus-visible .track-card__icon {
  opacity: 1;
  transform: scale(1.1);
}
.track-card:hover, .track-card:focus-visible {
  box-shadow: var(--shadow-md);
  transform: translateY(-2px);
}
.track-card:focus-visible {
  outline: 2px solid var(--primary-container);
  outline-offset: 4px;
}
.track-card__num {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  font-family: var(--font-body);
  font-weight: 700;
  font-size: var(--text-xs);
  color: var(--track-color, var(--outline));
  letter-spacing: 0.15em;
  text-transform: uppercase;
  margin-bottom: var(--space-4);
}
.track-card__num::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--track-color, var(--outline));
  flex-shrink: 0;
}
.track-card__title {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: var(--text-lg);
  color: var(--on-surface);
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  word-wrap: break-word;
}
.track-card__subtitle {
  font-size: var(--text-sm);
  color: var(--on-surface-variant);
  font-weight: 500;
  margin-top: var(--space-1);
}
.track-card__cta {
  opacity: 0;
  transform: translateY(6px);
  transition: opacity var(--duration-normal) var(--ease-out-quart), transform var(--duration-normal) var(--ease-out-quart);
  font-size: var(--text-sm);
  font-weight: 700;
  color: var(--primary);
  margin-top: var(--space-4);
  display: flex;
  align-items: center;
  gap: var(--space-1);
}
.track-card:hover .track-card__cta, .track-card:focus-visible .track-card__cta {
  opacity: 1;
  transform: translateY(0);
}
/* Featured XL bento card */
.track-card--xl {
  background: var(--dark-card);
  border-color: oklch(40% 0.02 250/0.5);
  padding: var(--space-8);
  justify-content: flex-end;
}
.track-card--xl::before {
  content: "09";
  position: absolute;
  top: var(--space-4);
  right: var(--space-6);
  font-family: var(--font-display);
  font-size: 7rem;
  font-weight: 900;
  color: oklch(100% 0 0/0.04);
  line-height: 1;
  pointer-events: none;
  letter-spacing: -0.05em;
}
.track-card--xl .track-card__num {
  color: oklch(75% 0.18 165/0.7);
}
.track-card--xl .track-card__num::before {
  background: var(--primary-container);
}
.track-card--xl .track-card__title {
  color: #fff;
  font-size: var(--text-3xl);
  font-weight: 900;
  letter-spacing: -0.03em;
  line-height: 1.1;
}
.track-card--xl .track-card__subtitle {
  color: oklch(88% 0.01 260) !important;
  /* High contrast light slate color on dark background */
}
.track-card--xl .track-card__cta {
  color: var(--primary-container);
}
/* ── Pricing Card ── */
.pricing-card {
  position: relative;
  background: var(--dark-card);
  border-radius: var(--radius-lg);
  padding: var(--space-6);
  border: 1px solid oklch(40% 0.02 250/0.4);
  display: flex;
  flex-direction: column;
  height: 100%;
}
.pricing-card--featured {
  background: var(--surface-container-lowest);
  border: 1px solid oklch(55% 0.1 200/0.35);
  box-shadow: 0 0 0 4px oklch(55% 0.1 200/0.08), var(--shadow-lg);
}
.pricing-card--featured .pricing-card__label {
  color: oklch(38% 0.1 200);
}
.pricing-card--featured .pricing-card__title {
  color: var(--on-surface);
}
.pricing-card--featured .pricing-card__period {
  color: var(--on-surface-variant);
  letter-spacing: 0.12em;
}
.pricing-card--featured .pricing-card__divider {
  border-top-color: var(--outline-variant);
}
.pricing-card--featured .pricing-card__features li {
  color: var(--on-surface);
}
.pricing-card--featured .pricing-card__features .material-symbols-outlined {
  color: oklch(38% 0.1 200);
}
.pricing-card__label {
  color: var(--primary-container);
  font-weight: 700;
  font-size: var(--text-xs);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  margin-bottom: var(--space-2);
}
.pricing-card__title {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: var(--text-2xl);
  color: #fff;
  text-transform: uppercase;
  letter-spacing: -0.02em;
  line-height: 1.15;
}
.pricing-card__price {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: var(--text-3xl);
  color: #fff;
  font-style: italic;
  letter-spacing: -0.04em;
  margin: 0 0 var(--space-1);
}
.pricing-card__period {
  font-size: var(--text-xs);
  color: oklch(75% 0 0/0.85);
  font-weight: 600;
  letter-spacing: 0.08em;
}
.pricing-card__payment {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  font-size: var(--text-sm);
  font-weight: 500;
  color: oklch(80% 0.04 200);
  letter-spacing: 0.01em;
}
.pricing-card__header {
  min-height: 4rem;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
.pricing-card__value-block {
  min-height: 7rem;
  margin: var(--space-5) 0 var(--space-4);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--space-1);
}
.pricing-card__divider {
  border: none;
  border-top: 1px solid oklch(100% 0 0/0.1);
  margin: 0 0 var(--space-5);
}
.pricing-card__sadi-logo {
  height: 3rem;
  width: auto;
  max-width: 14rem;
}
.pricing-card__cta-btn {
  width: 100%;
  justify-content: center;
  border-radius: var(--radius-md);
  margin-top: auto;
}
.pricing-card__eligibility {
  font-size: var(--text-sm);
  line-height: 1.65;
  color: var(--on-surface-variant);
  max-width: 100%;
}
.pricing-card__spacer {
  flex-grow: 1;
}
.pricing-card__features {
  flex-grow: 1;
  margin: 0 0 var(--space-5);
}
.pricing-card__features li {
  display: flex;
  align-items: flex-start;
  gap: var(--space-2);
  color: oklch(92% 0.01 260);
  font-weight: 400;
  font-size: var(--text-sm);
  line-height: 1.55;
  margin-bottom: var(--space-3);
}
.pricing-card__features .material-symbols-outlined {
  color: var(--primary-container);
  font-size: 1.1rem;
  flex-shrink: 0;
  margin-top: 1px;
}
.pricing-card__badge {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  background: oklch(75% 0.18 165/0.15);
  border: 1px solid oklch(75% 0.18 165/0.25);
  border-radius: var(--radius-full);
  padding: var(--space-1) var(--space-4);
  font-size: var(--text-xs);
  font-weight: 800;
  color: var(--primary-container);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: var(--space-6);
  align-self: center;
}
.pricing-card__badge-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--primary-container);
  animation: ping 1.5s ease-in-out infinite;
}
/* ── FAQ Accordion ── */
.faq__item {
  border-bottom: 1px solid var(--outline-variant);
}
.faq__item summary {
  list-style: none;
}
.faq__item summary::-webkit-details-marker {
  display: none;
}
.faq__question {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: var(--space-8);
  padding: var(--space-5) 0;
  cursor: pointer;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: var(--text-base);
  color: var(--on-surface);
  line-height: 1.45;
  transition: color var(--duration-fast) var(--ease-out-quart);
  user-select: none;
}
.faq__question:hover {
  color: var(--primary);
}
.faq__icon {
  font-size: 1.4rem;
  font-weight: 300;
  line-height: 1;
  color: var(--outline);
  flex-shrink: 0;
  transition: transform var(--duration-normal) var(--ease-out-expo), color var(--duration-fast);
}
.faq__item[open] .faq__icon {
  transform: rotate(45deg);
  color: var(--primary);
}
.faq__item[open] .faq__question {
  color: var(--primary);
}
.faq__answer-wrap {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows var(--duration-normal) var(--ease-out-expo);
}
.faq__item[open] .faq__answer-wrap {
  grid-template-rows: 1fr;
}
.faq__answer {
  overflow: hidden;
}
.faq__answer p {
  padding-bottom: var(--space-6);
  color: var(--on-surface-variant);
  font-size: var(--text-base);
  line-height: 1.7;
  max-width: 66ch;
}
/* ── Gallery Image ── */
.gallery-img {
  height: 16rem;
  width: 24rem;
  min-width: 24rem;
  object-fit: cover;
  border-radius: var(--radius-2xl);
  filter: grayscale(100%);
  transition: filter var(--duration-slow) var(--ease-out-quart);
  cursor: pointer;
}
.gallery-img:hover {
  filter: grayscale(0%);
}
/* ── Sponsor Logo ── */
.sponsor-logo {
  height: 3rem;
  filter: grayscale(100%);
  opacity: 0.5;
  transition: opacity var(--duration-normal), filter var(--duration-normal);
}
.sponsors__grid:hover .sponsor-logo {
  opacity: 0.8;
  filter: grayscale(50%);
}
/* ── Section Divider ── */
.section-header {
  margin-bottom: var(--space-16);
}
.section-header__title {
  font-size: var(--text-4xl);
  font-weight: 800;
  margin-bottom: var(--space-4);
}
.section-header__subtitle {
  font-size: var(--text-xl);
  color: var(--on-surface-variant);
  max-width: 50ch;
}
/* ============================================
   ANIMATIONS
   ============================================ */
@keyframes pulse-glow {
  0%, 100% {
    box-shadow: var(--shadow-glow);
  }
  50% {
    box-shadow: var(--shadow-glow-strong);
  }
}
@keyframes ping {
  0% {
    transform: scale(1);
    opacity: 1;
  }
  75%, 100% {
    transform: scale(2.5);
    opacity: 0;
  }
}
@keyframes scroll-left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}
@keyframes scroll-right {
  from {
    transform: translateX(-50%);
  }
  to {
    transform: translateX(0);
  }
}
.marquee-left {
  animation: scroll-left 45s linear infinite;
}
.marquee-right {
  animation: scroll-right 45s linear infinite;
}
.marquee-left:hover, .marquee-right:hover {
  animation-play-state: paused;
}
/* ── Reveal on scroll ── */
.reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity var(--duration-slow) var(--ease-out-expo), transform var(--duration-slow) var(--ease-out-expo);
}
.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}
.reveal-delay-1 {
  transition-delay: 80ms;
}
.reveal-delay-2 {
  transition-delay: 160ms;
}
.reveal-delay-3 {
  transition-delay: 240ms;
}
@media (prefers-reduced-motion: reduce) {
  .marquee-left, .marquee-right {
    animation: none;
  }
  .btn--glow-pulse {
    animation: none;
  }
  .reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }
  .pricing-card__badge-dot {
    animation: none;
  }
}
/* Habilitamos compatibilidad de z-index y ocultamos el offcanvas de Gantry para evitar duplicación de menús móviles */
.g-offcanvas-toggle, #g-offcanvas {
  display: none !important;
}
/* ── Page Title Component ── */
.g-page-title {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, var(--hero-bg-start) 0%, var(--hero-bg-mid) 50%, var(--hero-bg-end) 100%);
  padding-block: clamp(3rem, 5vw, 5rem) clamp(2rem, 4vw, 3.5rem);
  /* Bottom border accent in primary-container teal */
  border-bottom: 2px solid oklch(75% 0.18 165/0.25);
  text-align: left;
}
/* Decorative SVG background geometry */
.g-page-title__bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}
.g-page-title__bg-shape {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
/* Content wrapper */
.g-page-title-inner {
  position: relative;
  z-index: 1;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--gutter);
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  /* Entry animation */
  animation: pageTitle-in var(--duration-slow) var(--ease-out-expo) both;
}
@keyframes pageTitle-in {
  from {
    opacity: 0;
    transform: translateY(16px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* Eyebrow label */
.g-page-title__eyebrow {
  font-family: var(--font-display);
  font-size: var(--text-xs);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: var(--primary-container);
  opacity: 0.85;
  margin-bottom: var(--space-1);
  display: flex;
  align-items: center;
  gap: var(--space-2);
  /* Tick mark before eyebrow */
}
.g-page-title__eyebrow::before {
  content: "";
  display: inline-block;
  width: 1.5rem;
  height: 2px;
  background: var(--primary-container);
  border-radius: var(--radius-full);
  flex-shrink: 0;
}
/* Main heading — !important overrides Gantry cascade that may dim h1 color */
.g-page-title__heading {
  font-family: var(--font-display) !important;
  font-size: var(--text-4xl) !important;
  font-weight: 900 !important;
  color: #ffffff !important;
  /* WCAG AA: ~14:1 on hero-bg-mid */
  letter-spacing: -0.03em;
  line-height: 1.1;
  display: flex;
  align-items: center;
  gap: var(--space-3);
  text-shadow: 0 4px 24px oklch(0% 0 0/0.4);
  margin: 0;
  opacity: 1 !important;
  /* ensure no inherited opacity dims the heading */
}
/* Icon using Material Symbols */
.g-page-title__icon {
  font-size: 2rem;
  color: var(--primary-container);
  flex-shrink: 0;
  opacity: 0.9;
  font-variation-settings: "FILL" 0, "wght" 300, "GRAD" 0, "opsz" 40;
}
/* Teal accent rule below the title */
.g-page-title__rule {
  width: 3rem;
  height: 3px;
  background: var(--primary-container);
  border-radius: var(--radius-full);
  margin-top: var(--space-2);
  opacity: 0.8;
}
/* Description text — WCAG AA target ≥ 4.5:1 on dark navy background */
.g-page-title__description {
  font-family: var(--font-body);
  font-size: var(--text-lg);
  /* oklch(93% 0.015 260) ≈ #dde1f0 — contrast ~10:1 on #101d42 */
  color: oklch(93% 0.015 260) !important;
  max-width: 55ch;
  line-height: 1.7;
  margin: 0;
  opacity: 1;
  /* removed the 0.85 multiplier that was cutting contrast */
  /* Links inside the description (e.g. inline mentions) must be visible on dark bg */
}
.g-page-title__description a, .g-page-title__description a:visited {
  color: var(--primary-container) !important;
  /* teal #00e2a5 — ~7:1 on #101d42 */
  text-decoration: underline;
  text-underline-offset: 3px;
  font-weight: 600;
}
.g-page-title__description a:hover {
  color: #fff !important;
}
/* ── Authorities Page Grid Layout ── */
.authorities-page {
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
  margin-block: var(--space-6) var(--space-12);
  max-width: var(--container-max);
  margin-inline: auto;
  width: 100%;
  /* Highlight/President Cards */
  /* Committee Blocks */
}
.authorities-page .authorities-grid--featured {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-6);
}
@media (min-width: 768px) {
  .authorities-page .authorities-grid--featured {
    grid-template-columns: repeat(3, 1fr);
  }
}
.authorities-page .authority-card--president {
  background: var(--surface-container-lowest);
  border: 1px solid var(--outline-variant);
  border-top: 4px solid var(--primary-container);
  border-radius: var(--radius-xl);
  padding: var(--space-6) var(--space-5);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  box-shadow: var(--shadow-sm);
  transition: transform var(--duration-normal) var(--ease-out-expo), box-shadow var(--duration-normal) var(--ease-out-expo), border-color var(--duration-normal) var(--ease-out-expo);
}
.authorities-page .authority-card--president:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-lg);
  border-color: var(--primary-container);
}
.authorities-page .authority-card--president .authority-card__role {
  font-family: var(--font-display);
  font-size: var(--text-xs);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--primary);
  background: oklch(from var(--primary) l c h/0.06);
  padding: var(--space-1) var(--space-3);
  border-radius: var(--radius-full);
  margin-bottom: var(--space-4);
  display: inline-block;
}
.authorities-page .authority-card--president .authority-card__name {
  font-family: var(--font-display);
  font-size: var(--text-xl);
  font-weight: 800;
  color: var(--on-surface);
  line-height: 1.25;
  letter-spacing: -0.02em;
}
.authorities-page .committees-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-8);
}
@media (min-width: 768px) {
  .authorities-page .committees-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
.authorities-page .committee-block {
  background: var(--surface-container-lowest);
  border: 1px solid var(--outline-variant);
  border-radius: var(--radius-xl);
  padding: var(--space-8);
  box-shadow: var(--shadow-sm);
  transition: border-color var(--duration-normal) var(--ease-out-expo), box-shadow var(--duration-normal) var(--ease-out-expo);
}
.authorities-page .committee-block:hover {
  border-color: var(--outline);
  box-shadow: var(--shadow-md);
}
@media (min-width: 768px) {
  .authorities-page .committee-block.committee-block--wide {
    grid-column: span 2;
  }
}
.authorities-page .committee-block .committee-block__title {
  font-family: var(--font-display);
  font-size: var(--text-xl);
  font-weight: 800;
  color: var(--primary);
  margin-bottom: var(--space-6);
  border-bottom: 2px solid var(--primary-container);
  padding-bottom: var(--space-2);
  display: inline-block;
}
.authorities-page .committee-block .committee-block__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-3);
}
@media (min-width: 640px) {
  .authorities-page .committee-block .committee-block__list {
    grid-template-columns: repeat(2, 1fr);
  }
}
.authorities-page .committee-block .committee-block__list li {
  font-family: var(--font-body);
  font-size: var(--text-base);
  color: var(--on-surface);
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: var(--space-3);
  transition: transform var(--duration-fast) var(--ease-out-quart), color var(--duration-fast) var(--ease-out-quart);
}
.authorities-page .committee-block .committee-block__list li::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--primary-container);
  flex-shrink: 0;
  transition: transform var(--duration-fast) var(--ease-out-quart), background-color var(--duration-fast) var(--ease-out-quart);
}
.authorities-page .committee-block .committee-block__list li:hover {
  color: var(--primary);
  transform: translateX(6px);
}
.authorities-page .committee-block .committee-block__list li:hover::before {
  background-color: var(--primary);
  transform: scale(1.4);
}
/* ── Matukio Booking Details Page Override ── */
.mat-booking-details-page {
  max-width: var(--container-max);
  margin-inline: auto;
  padding: var(--space-6) var(--gutter);
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
  /* Badges */
  /* Action Buttons */
}
.mat-booking-details-page .mat-booking-title h2 {
  font-family: var(--font-display);
  font-size: var(--text-2xl);
  font-weight: 800;
  color: var(--on-surface);
  letter-spacing: -0.02em;
  margin: 0;
  position: relative;
  display: inline-block;
}
.mat-booking-details-page .mat-booking-title h2::after {
  content: "";
  position: absolute;
  bottom: -6px;
  left: 0;
  width: 3rem;
  height: 3px;
  background: var(--primary-container);
  border-radius: var(--radius-full);
}
.mat-booking-details-page .mat-booking-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-6);
}
@media (min-width: 992px) {
  .mat-booking-details-page .mat-booking-grid {
    grid-template-columns: 1.4fr 0.95fr;
    align-items: start;
  }
}
.mat-booking-details-page .mat-booking-card {
  background: var(--surface-container-lowest);
  border: 1px solid var(--outline-variant);
  border-radius: var(--radius-xl);
  padding: var(--space-8);
  box-shadow: var(--shadow-sm);
  transition: box-shadow var(--duration-normal) var(--ease-out-expo), border-color var(--duration-normal) var(--ease-out-expo);
}
.mat-booking-details-page .mat-booking-card:hover {
  box-shadow: var(--shadow-md);
  border-color: var(--outline);
}
.mat-booking-details-page .mat-booking-card.mat-booking-card--details {
  border-top: 4px solid var(--primary-container);
}
.mat-booking-details-page .mat-booking-card.mat-booking-card--sidebar {
  background: var(--surface-container-low);
  padding: var(--space-6);
}
.mat-booking-details-page .mat-booking-card.mat-booking-card--sidebar .mat-booking-card__title {
  font-size: var(--text-lg);
  margin-bottom: var(--space-5);
  border-bottom: 2px solid var(--outline-variant);
  color: var(--on-surface-variant);
}
.mat-booking-details-page .mat-booking-card.mat-booking-card--sidebar .mat-booking-card__title .material-symbols-outlined {
  color: var(--outline);
}
.mat-booking-details-page .mat-booking-card.mat-booking-card--sidebar .mat-booking-item {
  padding-bottom: var(--space-2);
}
@media (min-width: 576px) {
  .mat-booking-details-page .mat-booking-card.mat-booking-card--sidebar .mat-booking-item {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-1);
  }
}
.mat-booking-details-page .mat-booking-card.mat-booking-card--sidebar .mat-booking-item__label {
  font-size: var(--text-xs);
  opacity: 0.85;
}
.mat-booking-details-page .mat-booking-card.mat-booking-card--sidebar .mat-booking-item__value {
  font-size: var(--text-sm);
}
@media (min-width: 992px) {
  .mat-booking-details-page .mat-booking-card.mat-booking-card--fullwidth {
    grid-column: span 2;
  }
}
.mat-booking-details-page .mat-booking-card__title {
  font-family: var(--font-display);
  font-size: var(--text-xl);
  font-weight: 800;
  color: var(--primary);
  margin-bottom: var(--space-6);
  display: flex;
  align-items: center;
  gap: var(--space-3);
  border-bottom: 2px solid var(--primary-container);
  padding-bottom: var(--space-3);
}
.mat-booking-details-page .mat-booking-card__title .material-symbols-outlined {
  font-size: 1.6rem;
  color: var(--primary-container);
}
.mat-booking-details-page .mat-booking-card__list {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}
.mat-booking-details-page .mat-booking-card__list.mat-booking-card__list--grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-4);
}
@media (min-width: 768px) {
  .mat-booking-details-page .mat-booking-card__list.mat-booking-card__list--grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
.mat-booking-details-page .mat-booking-item {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
  padding-bottom: var(--space-3);
  border-bottom: 1px solid var(--outline-variant);
}
.mat-booking-details-page .mat-booking-item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
@media (min-width: 576px) {
  .mat-booking-details-page .mat-booking-item {
    flex-direction: row;
    justify-content: space-between;
    align-items: baseline;
    gap: var(--space-4);
  }
}
.mat-booking-details-page .mat-booking-item__label {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: var(--text-sm);
  color: var(--on-surface-variant);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.mat-booking-details-page .mat-booking-item__value {
  font-family: var(--font-body);
  font-weight: 700;
  font-size: var(--text-base);
  color: var(--on-surface);
  word-break: break-word;
}
.mat-booking-details-page .mat-booking-item__value a {
  color: var(--primary);
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color var(--duration-fast);
}
.mat-booking-details-page .mat-booking-item__value a:hover {
  color: var(--primary-container);
}
.mat-booking-details-page .mat-badge {
  display: inline-flex;
  align-items: center;
  padding: var(--space-1) var(--space-3);
  border-radius: var(--radius-full);
  font-size: var(--text-xs);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  line-height: 1;
}
.mat-booking-details-page .mat-badge.mat-badge--success {
  background: oklch(75% 0.18 145/0.12);
  color: oklch(50% 0.2 145);
  border: 1px solid oklch(75% 0.18 145/0.25);
}
.mat-booking-details-page .mat-badge.mat-badge--pending, .mat-booking-details-page .mat-badge.mat-badge--warning {
  background: oklch(78% 0.12 75/0.12);
  color: oklch(55% 0.15 75);
  border: 1px solid oklch(78% 0.12 75/0.25);
}
.mat-booking-details-page .mat-badge.mat-badge--danger {
  background: oklch(62% 0.18 28/0.12);
  color: oklch(48% 0.22 28);
  border: 1px solid oklch(62% 0.18 28/0.25);
}
.mat-booking-details-page .mat-booking-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: var(--space-4);
  margin-top: var(--space-4);
  padding-top: var(--space-6);
  border-top: 1px solid var(--outline-variant);
}
.mat-booking-details-page .mat-booking-actions .btn, .mat-booking-details-page .mat-booking-actions .btn-wrapper span.btn {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-3) var(--space-6) !important;
  font-size: var(--text-base) !important;
  font-weight: 700 !important;
  text-transform: none;
}
.mat-booking-details-page .mat-booking-actions .btn .material-symbols-outlined, .mat-booking-details-page .mat-booking-actions .btn-wrapper span.btn .material-symbols-outlined {
  font-size: 1.25rem;
}
.mat-booking-details-page .mat-booking-actions .btn-wrapper {
  text-decoration: none !important;
  border: none !important;
}
/* ============================================
   LAYOUT — Section-specific layouts
   ============================================ */
/* ── Hero ── */
.hero {
  position: relative;
  /* Mobile/Tablet: 80svh prevents overflow clipping and lets the green stats strip peek at the bottom */
  min-height: 80svh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  text-align: left;
  background: var(--hero-bg-mid);
  padding: calc(80px + var(--space-6)) var(--gutter) var(--space-12);
  /* Height-based safety query for laptop screens (like MacBook Pro 14") or short browser windows */
}
@media (min-width: 1024px) {
  .hero {
    /* Desktop: 75vh allows the next content (impact-strip) to stay above the fold; max-height caps size on huge screens */
    min-height: 75vh;
    max-height: 900px;
    padding: calc(80px + var(--space-12)) var(--gutter) var(--space-16);
  }
}
@media (min-width: 1024px) and (max-height: 850px) {
  .hero {
    min-height: 70vh;
    /* Scaled down height to ensure the impact-strip remains visible above the fold */
    padding-top: calc(80px + var(--space-4));
    padding-bottom: var(--space-6);
  }
}
/* Neutralize the global `h1,h2,...,strong { color: darken($base-text-color, 10%) }` from hydrogen _core.scss.
   custom.css loads after hydrogen.css so this wins the cascade. */
.hero strong, .hero__title strong, .hero__subtitle strong {
  color: inherit !important;
}
.hero__video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}
.hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(165deg, oklch(12% 0.04 260/0.8) 0%, oklch(10% 0.04 260/0.5) 40%, oklch(10% 0.04 260/0.9) 100%);
  z-index: 1;
}
.hero__content {
  position: relative;
  z-index: 2;
  max-width: var(--container-max);
  width: 100%;
  margin-inline: auto;
  padding-inline: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-6);
}
@media (min-width: 1024px) and (max-height: 850px) {
  .hero__content {
    gap: var(--space-4);
  }
}
.hero__title {
  font-size: var(--text-hero);
  font-weight: 900;
  color: #fff;
  letter-spacing: -0.04em;
  line-height: 1;
  text-shadow: 0 10px 30px oklch(0% 0 0/0.5);
  max-width: 52rem;
  /* Override the global `strong { color: darken($base-text-color, 10%) }` */
}
.hero__title strong {
  color: inherit !important;
}
@media (min-width: 1024px) and (max-height: 850px) {
  .hero__title {
    font-size: clamp(2rem, 1rem + 2.5vw, 3.25rem);
  }
}
.hero__subtitle {
  font-size: var(--text-xl);
  color: #fff;
  max-width: 44ch;
  line-height: 1.5;
  font-weight: 500;
  opacity: 0.95;
  text-shadow: 0 4px 12px oklch(0% 0 0/0.3);
  /* Override the global `strong { color: darken($base-text-color, 10%) }` */
}
.hero__subtitle strong {
  color: inherit !important;
}
@media (min-width: 1024px) and (max-height: 850px) {
  .hero__subtitle {
    font-size: var(--text-lg);
    line-height: 1.4;
  }
}
.hero__countdown {
  display: flex;
  gap: var(--space-4);
  margin-top: var(--space-4);
  flex-wrap: wrap;
  justify-content: flex-start;
}
.hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4);
  justify-content: flex-start;
  margin-top: var(--space-6);
}
/* ── Impact Strip ── */
.impact-strip {
  background: var(--primary-container);
  color: var(--on-primary-container);
  padding: var(--space-5) var(--gutter);
}
.impact-strip__inner {
  max-width: var(--container-max);
  margin-inline: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-6);
  font-family: var(--font-display);
  font-weight: 700;
  font-size: var(--text-lg);
}
.impact-strip__dot {
  color: oklch(60% 0.1 165/0.4);
  display: none;
}
/* ── Tracks Grid (Bento) ── */
.tracks {
  padding: var(--space-24) var(--gutter);
  background: var(--surface-container);
}
.tracks .container {
  padding-inline: 0;
}
.tracks__header {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  margin-bottom: var(--space-12);
}
.tracks__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-4);
  grid-template-areas: "t1" "t2" "t3" "t4" "t5" "t6" "t7" "t8" "t9";
}
.tc-1 {
  grid-area: t1;
}
.tc-2 {
  grid-area: t2;
}
.tc-3 {
  grid-area: t3;
}
.tc-4 {
  grid-area: t4;
}
.tc-5 {
  grid-area: t5;
}
.tc-6 {
  grid-area: t6;
}
.tc-7 {
  grid-area: t7;
}
.tc-8 {
  grid-area: t8;
}
.tc-9 {
  grid-area: t9;
}
.tracks__cta-box {
  margin-top: var(--space-12);
  text-align: center;
  background: oklch(85% 0.02 260/0.3);
  border-radius: var(--radius-2xl);
  padding: var(--space-8);
  border: 1px solid var(--surface-dim);
}
.tracks__cta-box p {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: var(--text-2xl);
  margin-inline: auto;
  margin-bottom: var(--space-4);
}
.tracks__cta-link {
  font-weight: 700;
  font-size: var(--text-lg);
  color: var(--primary);
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  border-bottom: 2px solid var(--primary-container);
  padding-bottom: 2px;
  transition: color var(--duration-fast), border-color var(--duration-fast);
}
.tracks__cta-link:hover {
  color: var(--primary-container);
  border-color: var(--primary);
}
/* ── Convocatoria ── */
.cta-section {
  padding: var(--space-24) var(--gutter);
  background: var(--primary-container);
  color: var(--on-primary-container);
}
.cta-section__inner {
  max-width: var(--container-max);
  margin-inline: auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-12);
}
.cta-section__eyebrow {
  font-size: var(--text-sm);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: oklch(30% 0.12 165);
  margin-bottom: var(--space-3);
}
.cta-section__title {
  font-size: var(--text-4xl);
  font-weight: 900;
  line-height: 1.05;
  letter-spacing: -0.03em;
  color: var(--on-primary-container);
  margin-bottom: var(--space-6);
}
.cta-section__link {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  font-size: var(--text-sm);
  font-weight: 700;
  color: oklch(30% 0.1 165);
  text-decoration: none;
  transition: color var(--duration-fast);
}
.cta-section__link-text {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.cta-section__link:hover {
  color: var(--on-primary-container);
}
.cta-section__callout {
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
}
.cta-section__date-block {
  border-left: 3px solid oklch(20% 0.1 165/0.3);
  padding-left: var(--space-6);
}
.cta-section__date-day {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: var(--text-hero);
  line-height: 0.9;
  letter-spacing: -0.05em;
  color: var(--on-primary-container);
}
.cta-section__date-rest {
  font-size: var(--text-lg);
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  margin-top: var(--space-2);
  color: oklch(35% 0.1 165);
}
.cta-section__date-note {
  font-size: var(--text-xs);
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-top: var(--space-1);
  color: oklch(40% 0.08 165);
}
.cta-section__btn {
  background: var(--on-primary-container);
  color: #fff !important;
  padding: var(--space-4) var(--space-8);
  border-radius: var(--radius-full);
  font-weight: 700;
  font-size: var(--text-base);
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  align-self: flex-start;
  transition: transform var(--duration-fast) var(--ease-out-quart), box-shadow var(--duration-normal) var(--ease-out-quart);
  box-shadow: 0 4px 16px oklch(20% 0.1 165/0.25);
}
.cta-section__btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px oklch(20% 0.1 165/0.35);
}
@media (min-width: 768px) {
  .cta-section__inner {
    grid-template-columns: 1fr 1fr;
    gap: var(--space-16);
    align-items: center;
  }
}
/* ── Gallery ── */
.gallery {
  padding: var(--space-24) 0;
  background: var(--surface);
  overflow: hidden;
}
.gallery__header {
  text-align: left;
  padding-inline: var(--gutter);
  max-width: calc(var(--container-max) + 2 * var(--gutter));
  margin-inline: auto;
  margin-bottom: var(--space-12);
}
.gallery__title {
  font-size: var(--text-4xl);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: -0.03em;
  color: var(--on-surface);
  margin-bottom: var(--space-4);
}
.gallery__subtitle {
  font-size: var(--text-xl);
  color: var(--on-surface-variant);
  max-width: 50ch;
}
.gallery__rows {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}
.gallery__row {
  display: flex;
  gap: var(--space-4);
  width: max-content;
}
.gallery__row a {
  display: inline-block;
  line-height: 0;
}
/* ── Pricing ── */
.pricing {
  padding: var(--space-24) var(--gutter);
  background: var(--surface);
}
.pricing__header {
  text-align: center;
  max-width: var(--container-max);
  margin-inline: auto;
  margin-bottom: var(--space-12);
}
.pricing__title {
  font-size: var(--text-4xl);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: -0.02em;
  margin-bottom: var(--space-4);
}
.pricing__subtitle {
  font-size: var(--text-xl);
  color: var(--on-surface-variant);
  max-width: 44ch;
  margin-inline: auto;
}
.pricing__grid {
  max-width: 64rem;
  margin-inline: auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-8);
  align-items: stretch;
}
/* ── FAQ ── */
.faq {
  padding: var(--space-24) var(--gutter);
  background: var(--surface-container-low);
  border-top: 1px solid var(--surface-container-high);
}
.faq__container {
  max-width: var(--container-max);
  margin-inline: auto;
}
.faq__header {
  margin-bottom: var(--space-16);
}
.faq__eyebrow {
  font-size: var(--text-xs);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: var(--primary);
  margin-bottom: var(--space-3);
}
.faq__title {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: var(--text-4xl);
  color: var(--on-surface);
  letter-spacing: -0.03em;
  line-height: 1.05;
}
.faq__body {
  display: flex;
  flex-direction: column;
  gap: var(--space-12);
}
.faq__group {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-2);
}
.faq__group-label {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: var(--text-sm);
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: var(--on-surface-variant);
  line-height: 1.4;
  padding-bottom: var(--space-6);
  border-bottom: 2px solid var(--primary-container);
  align-self: start;
}
.faq__items {
  border-top: 1px solid var(--outline-variant);
}
@media (min-width: 768px) {
  .faq__group {
    grid-template-columns: 11rem 1fr;
    gap: var(--space-12);
    align-items: start;
  }
  .faq__group-label {
    border-bottom: none;
    border-top: 2px solid var(--primary-container);
    padding-bottom: 0;
    padding-top: var(--space-5);
    position: sticky;
    top: 5rem;
  }
}
/* ── Sponsors ── */
.sponsors {
  padding: var(--space-20) var(--gutter);
  background: var(--surface-bright);
  border-top: 1px solid var(--surface-container-high);
}
.sponsors__label {
  text-align: center;
  font-size: var(--text-sm);
  color: var(--on-surface-variant);
  text-transform: uppercase;
  letter-spacing: 0.15em;
  font-weight: 600;
  margin-bottom: var(--space-10);
}
.sponsors__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-8);
  align-items: center;
  max-width: var(--container-max);
  margin-inline: auto;
  transition: opacity var(--duration-normal);
}
/* ── Footer ── */
.footer {
  background: var(--dark-surface);
  color: oklch(70% 0.01 260);
  padding-block: var(--space-16);
  padding-inline: var(--gutter);
}
.footer__inner {
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: 0;
}
.footer__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-10);
  margin-bottom: var(--space-10);
}
.footer__brand {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: var(--text-2xl);
  color: #fff;
  text-transform: uppercase;
  letter-spacing: -0.03em;
  margin-bottom: var(--space-4);
}
.footer__about {
  font-size: var(--text-lg);
  line-height: 1.6;
  max-width: 30ch;
  margin-bottom: var(--space-4);
}
.footer__about-link {
  color: #fff;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  transition: color var(--duration-fast);
}
.footer__about-link:hover {
  color: var(--primary-container);
}
.footer__heading {
  color: #fff;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: var(--text-sm);
  text-transform: uppercase;
  letter-spacing: 0.15em;
  margin-bottom: var(--space-6);
}
.footer__links {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}
.footer__links a {
  font-weight: 500;
  color: oklch(78% 0.01 260);
  padding-block: var(--space-1);
  transition: color var(--duration-fast);
}
.footer__links a:hover {
  color: #fff;
}
.footer__contact-item {
  display: flex;
  align-items: center;
  gap: var(--space-3);
}
.footer__contact-item .material-symbols-outlined {
  color: #fff;
  font-size: 1.2rem;
}
.footer__bar {
  padding-top: var(--space-8);
  border-top: 1px solid oklch(100% 0 0/0.08);
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  align-items: center;
  text-align: center;
}
.footer__love {
  font-size: var(--text-xs);
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-style: italic;
  opacity: 0.6;
}
.footer__love-heart {
  color: #ef4444;
  font-style: normal;
}
.footer__copyright {
  font-size: var(--text-xs);
  letter-spacing: 0.05em;
  opacity: 0.5;
}
/* ============================================
   RESPONSIVE LAYOUT BREAKPOINTS
   ============================================ */
@media (min-width: 640px) {
  .tracks__grid {
    grid-template-columns: repeat(2, 1fr);
    grid-template-areas: "t1 t1" "t2 t3" "t4 t4" "t5 t6" "t5 t7" "t8 t8" "t9 t9";
  }
  .pricing__grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .sponsors__grid {
    grid-template-columns: repeat(4, 1fr);
  }
  .footer__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 768px) {
  .impact-strip__inner {
    justify-content: space-between;
  }
  .impact-strip__dot {
    display: inline;
  }
  .footer__grid {
    grid-template-columns: 1.5fr 1fr 1fr;
  }
  .footer__bar {
    flex-direction: row;
    justify-content: space-between;
  }
}
@media (min-width: 1024px) {
  .navbar__links {
    display: flex;
  }
  .navbar__login {
    display: block;
  }
  .navbar__toggle {
    display: none !important;
  }
  .tracks__header {
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-end;
  }
  .tracks__grid {
    grid-template-columns: repeat(3, 1fr);
    grid-template-areas: "t1 t1 t2" "t3 t4 t5" "t6 t7 t5" "t8 t9 t9" "t8 t9 t9";
  }
  .track-card--xl {
    min-height: 16rem;
  }
  .sponsors__grid {
    grid-template-columns: repeat(6, 1fr);
  }
  .hero__title {
    font-size: clamp(2.5rem, 1rem + 3.5vw, 4rem);
  }
}
@media (min-width: 1280px) {
  .tracks__grid {
    grid-template-columns: repeat(4, 1fr);
    grid-template-areas: "t1 t1 t2 t3" "t4 t4 t5 t6" "t7 t8 t9 t9" "t7 t8 t9 t9";
  }
}
/* ── Touch devices ── */
@media (hover: none) {
  .track-card__cta {
    opacity: 1;
    transform: none;
  }
}
/* ============================================
   PROGRAMA 2026 — Timeline Table Styling Overrides
   ============================================ */
/* Limit main content container width on desktop for all inner pages */
#g-main .g-container, #g-container-main .g-container {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}
#g-main .platform-content, #g-container-main .platform-content {
  max-width: calc(var(--container-max) + 2 * var(--gutter)) !important;
  margin-inline: auto !important;
  width: 100% !important;
  padding-inline: var(--gutter) !important;
  padding-block: var(--space-12) var(--space-20) !important;
  /* If the content contains an item page (which already has its own padding), neutralize padding-block */
}
#g-main .platform-content:has(.item-page), #g-container-main .platform-content:has(.item-page) {
  padding-block: 0 !important;
}
#g-main .g-system-messages, #g-container-main .g-system-messages {
  max-width: calc(var(--container-max) + 2 * var(--gutter)) !important;
  margin-inline: auto !important;
  width: 100% !important;
  padding-inline: var(--gutter) !important;
}
/* If the main section contains columns (e.g., active sidebars/asides), constrain the grid wrapper on desktop */
#g-container-main > .g-container > .g-grid:has(> .g-block:not(.size-100)) {
  max-width: calc(var(--container-max) + 2 * var(--gutter)) !important;
  margin-inline: auto !important;
  padding-inline: var(--gutter) !important;
  width: 100% !important;
}
.item-page {
  padding-block: var(--space-8) var(--space-16);
  /* Table styling */
}
.item-page h2 {
  font-family: var(--font-display) !important;
  font-size: var(--text-2xl) !important;
  font-weight: 800 !important;
  color: var(--primary) !important;
  margin-top: var(--space-16) !important;
  margin-bottom: var(--space-6) !important;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border-bottom: 3px solid var(--primary-container) !important;
  padding-bottom: var(--space-2) !important;
  display: inline-block;
}
.item-page table {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  margin-block: var(--space-6) var(--space-12) !important;
  background-color: var(--surface-container-lowest) !important;
  /* White container */
  border-radius: var(--radius-lg);
  border: 1px solid var(--outline-variant) !important;
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  /* Cells basic styling */
  /* Remove bottom border on the last row */
  /* Style time column (th or first td) */
  /* Sub-row styling for detail presentation rows (no bgcolor) */
  /* Simposios (bgcolor=#00e2a5) */
  /* Mesas Redondas / Ejes Temáticos (bgcolor=#EFDDF5) */
  /* Pausas / Recesos (bgcolor=#B7B7B7 or #BEBEBE) */
  /* Talleres / Actividades Especiales (bgcolor=#ABA8FF) */
}
.item-page table th, .item-page table td {
  padding: var(--space-4) var(--space-6) !important;
  text-align: left;
  vertical-align: middle;
  border-bottom: 1px solid var(--surface-container) !important;
  font-family: var(--font-body);
  font-size: var(--text-base);
  color: var(--on-surface);
  line-height: 1.6;
}
.item-page table th p, .item-page table td p {
  margin: 0 !important;
  padding: 0 !important;
  font-size: inherit !important;
  color: inherit !important;
  line-height: inherit !important;
}
.item-page table th h3, .item-page table td h3 {
  font-family: var(--font-display);
  font-size: var(--text-lg);
  font-weight: 700;
  margin: 0 !important;
  color: var(--on-surface);
  letter-spacing: -0.01em;
}
.item-page table tr:last-child th, .item-page table tr:last-child td {
  border-bottom: none !important;
}
.item-page table th {
  width: 12rem;
  font-family: var(--font-display) !important;
  font-weight: 700 !important;
  color: var(--primary) !important;
  background-color: var(--surface-container-low) !important;
  /* Light lilac background */
  border-right: 1px solid var(--outline-variant) !important;
  font-variant-numeric: tabular-nums;
}
.item-page table tr:not([bgcolor]) {
  background-color: var(--surface-container-lowest) !important;
}
.item-page table tr:not([bgcolor]) td {
  font-size: var(--text-sm);
  color: var(--on-surface-variant);
  border-bottom: 1px dashed var(--surface-container-high) !important;
  /* Dim first two cells ("15 min", "Disertante") */
}
.item-page table tr:not([bgcolor]) td:nth-child(1), .item-page table tr:not([bgcolor]) td:nth-child(2) {
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-size: var(--text-xs);
  color: var(--outline);
  width: 8rem;
}
.item-page table tr[bgcolor="#00e2a5"], .item-page table tr[bgcolor="#00e59a"] {
  background-color: rgba(0, 226, 165, 0.08) !important;
  /* Faint primary container green */
}
.item-page table tr[bgcolor="#00e2a5"] th, .item-page table tr[bgcolor="#00e2a5"] td, .item-page table tr[bgcolor="#00e59a"] th, .item-page table tr[bgcolor="#00e59a"] td {
  border-left: 4px solid var(--primary-container) !important;
  background-color: transparent !important;
}
.item-page table tr[bgcolor="#00e2a5"] h3, .item-page table tr[bgcolor="#00e59a"] h3 {
  color: var(--primary) !important;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}
.item-page table tr[bgcolor="#EFDDF5"], .item-page table tr[bgcolor="#efddf5"] {
  background-color: rgba(95, 88, 140, 0.06) !important;
  /* Faint secondary purple */
}
.item-page table tr[bgcolor="#EFDDF5"] th, .item-page table tr[bgcolor="#EFDDF5"] td, .item-page table tr[bgcolor="#efddf5"] th, .item-page table tr[bgcolor="#efddf5"] td {
  border-left: 4px solid var(--secondary) !important;
  background-color: transparent !important;
}
.item-page table tr[bgcolor="#EFDDF5"] h3, .item-page table tr[bgcolor="#efddf5"] h3 {
  color: var(--secondary) !important;
  font-weight: 700;
}
.item-page table tr[bgcolor="#B7B7B7"], .item-page table tr[bgcolor="#b7b7b7"], .item-page table tr[bgcolor="#BEBEBE"], .item-page table tr[bgcolor="#bebebe"] {
  background-color: var(--surface-container-low) !important;
}
.item-page table tr[bgcolor="#B7B7B7"] th, .item-page table tr[bgcolor="#B7B7B7"] td, .item-page table tr[bgcolor="#b7b7b7"] th, .item-page table tr[bgcolor="#b7b7b7"] td, .item-page table tr[bgcolor="#BEBEBE"] th, .item-page table tr[bgcolor="#BEBEBE"] td, .item-page table tr[bgcolor="#bebebe"] th, .item-page table tr[bgcolor="#bebebe"] td {
  border-left: 4px solid var(--outline) !important;
  background-color: transparent !important;
  color: var(--outline) !important;
  font-style: italic;
}
.item-page table tr[bgcolor="#B7B7B7"] p, .item-page table tr[bgcolor="#b7b7b7"] p, .item-page table tr[bgcolor="#BEBEBE"] p, .item-page table tr[bgcolor="#bebebe"] p {
  font-weight: 600;
}
.item-page table tr[bgcolor="#ABA8FF"], .item-page table tr[bgcolor="#aba8ff"] {
  background-color: rgba(94, 84, 159, 0.06) !important;
  /* Faint tertiary purple */
}
.item-page table tr[bgcolor="#ABA8FF"] th, .item-page table tr[bgcolor="#ABA8FF"] td, .item-page table tr[bgcolor="#aba8ff"] th, .item-page table tr[bgcolor="#aba8ff"] td {
  border-left: 4px solid var(--tertiary) !important;
  background-color: transparent !important;
}
.item-page table tr[bgcolor="#ABA8FF"] h3, .item-page table tr[bgcolor="#aba8ff"] h3 {
  color: var(--tertiary) !important;
  font-weight: 700;
}
/* Mobile responsiveness for tables without layout breaking */
@media (max-width: 767px) {
  .item-page table {
    display: block;
    width: 100% !important;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .item-page table th {
    width: auto;
    min-width: 6rem;
  }
}
/* ============================================
   MATUKIO EVENTS — Style Overrides
   V Jornadas de Infectología Rosario 2026
   ============================================ */
/* Container wrapper for Matukio Component */
.com_matukio, [id^="matukio"], .matukio-booking, .mat-container {
  font-family: var(--font-body);
  color: var(--on-surface);
  /* ── Input Fields & Textareas ── */
  /* ── Buttons Overrides ── */
  /* Primary Button styling */
  /* Secondary/Default Button styling */
  /* ── Booking Form Details ── */
  /* ── Alerts & Warnings ── */
}
.com_matukio h1, .com_matukio h2, .com_matukio h3, .com_matukio h4, .com_matukio h5, .com_matukio h6, .com_matukio .mat-event-title, .com_matukio .mat-title, [id^="matukio"] h1, [id^="matukio"] h2, [id^="matukio"] h3, [id^="matukio"] h4, [id^="matukio"] h5, [id^="matukio"] h6, [id^="matukio"] .mat-event-title, [id^="matukio"] .mat-title, .matukio-booking h1, .matukio-booking h2, .matukio-booking h3, .matukio-booking h4, .matukio-booking h5, .matukio-booking h6, .matukio-booking .mat-event-title, .matukio-booking .mat-title, .mat-container h1, .mat-container h2, .mat-container h3, .mat-container h4, .mat-container h5, .mat-container h6, .mat-container .mat-event-title, .mat-container .mat-title {
  font-family: var(--font-display);
  font-weight: 700;
  color: var(--on-surface);
}
.com_matukio input[type="text"], .com_matukio input[type="email"], .com_matukio input[type="tel"], .com_matukio input[type="number"], .com_matukio select, .com_matukio textarea, .com_matukio .form-control, .com_matukio .mat-input, [id^="matukio"] input[type="text"], [id^="matukio"] input[type="email"], [id^="matukio"] input[type="tel"], [id^="matukio"] input[type="number"], [id^="matukio"] select, [id^="matukio"] textarea, [id^="matukio"] .form-control, [id^="matukio"] .mat-input, .matukio-booking input[type="text"], .matukio-booking input[type="email"], .matukio-booking input[type="tel"], .matukio-booking input[type="number"], .matukio-booking select, .matukio-booking textarea, .matukio-booking .form-control, .matukio-booking .mat-input, .mat-container input[type="text"], .mat-container input[type="email"], .mat-container input[type="tel"], .mat-container input[type="number"], .mat-container select, .mat-container textarea, .mat-container .form-control, .mat-container .mat-input {
  background-color: var(--surface-container-lowest);
  color: var(--on-surface);
  border: 1px solid var(--outline-variant);
  border-radius: var(--radius-md) !important;
  padding: var(--space-3) var(--space-4);
  font-size: var(--text-base);
  transition: border-color var(--duration-fast), box-shadow var(--duration-fast);
  outline: none;
  box-shadow: none;
}
.com_matukio input[type="text"]:focus, .com_matukio input[type="email"]:focus, .com_matukio input[type="tel"]:focus, .com_matukio input[type="number"]:focus, .com_matukio select:focus, .com_matukio textarea:focus, .com_matukio .form-control:focus, .com_matukio .mat-input:focus, [id^="matukio"] input[type="text"]:focus, [id^="matukio"] input[type="email"]:focus, [id^="matukio"] input[type="tel"]:focus, [id^="matukio"] input[type="number"]:focus, [id^="matukio"] select:focus, [id^="matukio"] textarea:focus, [id^="matukio"] .form-control:focus, [id^="matukio"] .mat-input:focus, .matukio-booking input[type="text"]:focus, .matukio-booking input[type="email"]:focus, .matukio-booking input[type="tel"]:focus, .matukio-booking input[type="number"]:focus, .matukio-booking select:focus, .matukio-booking textarea:focus, .matukio-booking .form-control:focus, .matukio-booking .mat-input:focus, .mat-container input[type="text"]:focus, .mat-container input[type="email"]:focus, .mat-container input[type="tel"]:focus, .mat-container input[type="number"]:focus, .mat-container select:focus, .mat-container textarea:focus, .mat-container .form-control:focus, .mat-container .mat-input:focus {
  border-color: var(--primary-container);
  box-shadow: 0 0 0 3px oklch(75% 0.18 165/0.2);
}
.com_matukio input[type="text"]::placeholder, .com_matukio input[type="email"]::placeholder, .com_matukio input[type="tel"]::placeholder, .com_matukio input[type="number"]::placeholder, .com_matukio select::placeholder, .com_matukio textarea::placeholder, .com_matukio .form-control::placeholder, .com_matukio .mat-input::placeholder, [id^="matukio"] input[type="text"]::placeholder, [id^="matukio"] input[type="email"]::placeholder, [id^="matukio"] input[type="tel"]::placeholder, [id^="matukio"] input[type="number"]::placeholder, [id^="matukio"] select::placeholder, [id^="matukio"] textarea::placeholder, [id^="matukio"] .form-control::placeholder, [id^="matukio"] .mat-input::placeholder, .matukio-booking input[type="text"]::placeholder, .matukio-booking input[type="email"]::placeholder, .matukio-booking input[type="tel"]::placeholder, .matukio-booking input[type="number"]::placeholder, .matukio-booking select::placeholder, .matukio-booking textarea::placeholder, .matukio-booking .form-control::placeholder, .matukio-booking .mat-input::placeholder, .mat-container input[type="text"]::placeholder, .mat-container input[type="email"]::placeholder, .mat-container input[type="tel"]::placeholder, .mat-container input[type="number"]::placeholder, .mat-container select::placeholder, .mat-container textarea::placeholder, .mat-container .form-control::placeholder, .mat-container .mat-input::placeholder {
  color: var(--outline);
  opacity: 0.8;
}
.com_matukio .btn, .com_matukio .mat-btn, .com_matukio input[type="submit"], .com_matukio button[type="submit"], [id^="matukio"] .btn, [id^="matukio"] .mat-btn, [id^="matukio"] input[type="submit"], [id^="matukio"] button[type="submit"], .matukio-booking .btn, .matukio-booking .mat-btn, .matukio-booking input[type="submit"], .matukio-booking button[type="submit"], .mat-container .btn, .mat-container .mat-btn, .mat-container input[type="submit"], .mat-container button[type="submit"] {
  font-family: var(--font-display);
  font-weight: 700;
  border-radius: var(--radius-md) !important;
  transition: transform var(--duration-fast) var(--ease-out-quart), box-shadow var(--duration-normal) var(--ease-out-quart), background var(--duration-fast);
  text-transform: none;
  letter-spacing: normal;
}
.com_matukio .btn:active, .com_matukio .mat-btn:active, .com_matukio input[type="submit"]:active, .com_matukio button[type="submit"]:active, [id^="matukio"] .btn:active, [id^="matukio"] .mat-btn:active, [id^="matukio"] input[type="submit"]:active, [id^="matukio"] button[type="submit"]:active, .matukio-booking .btn:active, .matukio-booking .mat-btn:active, .matukio-booking input[type="submit"]:active, .matukio-booking button[type="submit"]:active, .mat-container .btn:active, .mat-container .mat-btn:active, .mat-container input[type="submit"]:active, .mat-container button[type="submit"]:active {
  transform: scale(0.97);
}
.com_matukio .btn-primary, .com_matukio .btn-success, .com_matukio .mat-btn-primary, .com_matukio .mat-btn-submit, [id^="matukio"] .btn-primary, [id^="matukio"] .btn-success, [id^="matukio"] .mat-btn-primary, [id^="matukio"] .mat-btn-submit, .matukio-booking .btn-primary, .matukio-booking .btn-success, .matukio-booking .mat-btn-primary, .matukio-booking .mat-btn-submit, .mat-container .btn-primary, .mat-container .btn-success, .mat-container .mat-btn-primary, .mat-container .mat-btn-submit {
  background-color: var(--primary-container) !important;
  color: var(--on-primary-container) !important;
  border: none !important;
  box-shadow: var(--shadow-glow);
}
.com_matukio .btn-primary:hover, .com_matukio .btn-primary:focus, .com_matukio .btn-success:hover, .com_matukio .btn-success:focus, .com_matukio .mat-btn-primary:hover, .com_matukio .mat-btn-primary:focus, .com_matukio .mat-btn-submit:hover, .com_matukio .mat-btn-submit:focus, [id^="matukio"] .btn-primary:hover, [id^="matukio"] .btn-primary:focus, [id^="matukio"] .btn-success:hover, [id^="matukio"] .btn-success:focus, [id^="matukio"] .mat-btn-primary:hover, [id^="matukio"] .mat-btn-primary:focus, [id^="matukio"] .mat-btn-submit:hover, [id^="matukio"] .mat-btn-submit:focus, .matukio-booking .btn-primary:hover, .matukio-booking .btn-primary:focus, .matukio-booking .btn-success:hover, .matukio-booking .btn-success:focus, .matukio-booking .mat-btn-primary:hover, .matukio-booking .mat-btn-primary:focus, .matukio-booking .mat-btn-submit:hover, .matukio-booking .mat-btn-submit:focus, .mat-container .btn-primary:hover, .mat-container .btn-primary:focus, .mat-container .btn-success:hover, .mat-container .btn-success:focus, .mat-container .mat-btn-primary:hover, .mat-container .mat-btn-primary:focus, .mat-container .mat-btn-submit:hover, .mat-container .mat-btn-submit:focus {
  background-color: var(--primary) !important;
  color: #fff !important;
  box-shadow: var(--shadow-glow-strong);
}
.com_matukio .btn-secondary, .com_matukio .btn-default, .com_matukio .mat-btn-secondary, .com_matukio .btn-payment, [id^="matukio"] .btn-secondary, [id^="matukio"] .btn-default, [id^="matukio"] .mat-btn-secondary, [id^="matukio"] .btn-payment, .matukio-booking .btn-secondary, .matukio-booking .btn-default, .matukio-booking .mat-btn-secondary, .matukio-booking .btn-payment, .mat-container .btn-secondary, .mat-container .btn-default, .mat-container .mat-btn-secondary, .mat-container .btn-payment {
  background-color: var(--dark-card) !important;
  color: #fff !important;
  border: 1px solid oklch(100% 0 0/0.1) !important;
}
.com_matukio .btn-secondary:hover, .com_matukio .btn-secondary:focus, .com_matukio .btn-default:hover, .com_matukio .btn-default:focus, .com_matukio .mat-btn-secondary:hover, .com_matukio .mat-btn-secondary:focus, .com_matukio .btn-payment:hover, .com_matukio .btn-payment:focus, [id^="matukio"] .btn-secondary:hover, [id^="matukio"] .btn-secondary:focus, [id^="matukio"] .btn-default:hover, [id^="matukio"] .btn-default:focus, [id^="matukio"] .mat-btn-secondary:hover, [id^="matukio"] .mat-btn-secondary:focus, [id^="matukio"] .btn-payment:hover, [id^="matukio"] .btn-payment:focus, .matukio-booking .btn-secondary:hover, .matukio-booking .btn-secondary:focus, .matukio-booking .btn-default:hover, .matukio-booking .btn-default:focus, .matukio-booking .mat-btn-secondary:hover, .matukio-booking .mat-btn-secondary:focus, .matukio-booking .btn-payment:hover, .matukio-booking .btn-payment:focus, .mat-container .btn-secondary:hover, .mat-container .btn-secondary:focus, .mat-container .btn-default:hover, .mat-container .btn-default:focus, .mat-container .mat-btn-secondary:hover, .mat-container .mat-btn-secondary:focus, .mat-container .btn-payment:hover, .mat-container .btn-payment:focus {
  background-color: oklch(20% 0.02 250) !important;
}
.com_matukio .mat-booking-summary, .com_matukio .mat-card, .com_matukio .event-details-card, [id^="matukio"] .mat-booking-summary, [id^="matukio"] .mat-card, [id^="matukio"] .event-details-card, .matukio-booking .mat-booking-summary, .matukio-booking .mat-card, .matukio-booking .event-details-card, .mat-container .mat-booking-summary, .mat-container .mat-card, .mat-container .event-details-card {
  background-color: var(--surface-container-low);
  border: 1px solid var(--outline-variant);
  border-radius: var(--radius-lg);
  padding: var(--space-6);
  box-shadow: var(--shadow-sm);
}
.com_matukio .alert, .com_matukio .mat-alert, [id^="matukio"] .alert, [id^="matukio"] .mat-alert, .matukio-booking .alert, .matukio-booking .mat-alert, .mat-container .alert, .mat-container .mat-alert {
  border-radius: var(--radius-md);
  padding: var(--space-4);
  margin-bottom: var(--space-6);
  font-weight: 500;
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
}
.com_matukio .alert .material-symbols-outlined, .com_matukio .mat-alert .material-symbols-outlined, [id^="matukio"] .alert .material-symbols-outlined, [id^="matukio"] .mat-alert .material-symbols-outlined, .matukio-booking .alert .material-symbols-outlined, .matukio-booking .mat-alert .material-symbols-outlined, .mat-container .alert .material-symbols-outlined, .mat-container .mat-alert .material-symbols-outlined {
  font-size: 1.3rem;
  flex-shrink: 0;
}
.com_matukio .alert-success, [id^="matukio"] .alert-success, .matukio-booking .alert-success, .mat-container .alert-success {
  background-color: var(--surface-container-lowest);
  color: var(--primary);
  border: 1px solid var(--primary-container);
}
.com_matukio .alert-danger, .com_matukio .alert-error, .com_matukio .mat-alert--danger, [id^="matukio"] .alert-danger, [id^="matukio"] .alert-error, [id^="matukio"] .mat-alert--danger, .matukio-booking .alert-danger, .matukio-booking .alert-error, .matukio-booking .mat-alert--danger, .mat-container .alert-danger, .mat-container .alert-error, .mat-container .mat-alert--danger {
  background-color: var(--surface-container-lowest);
  color: var(--error);
  border: 1px solid var(--error);
}
.com_matukio .alert-warning, .com_matukio .mat-alert--warning, [id^="matukio"] .alert-warning, [id^="matukio"] .mat-alert--warning, .matukio-booking .alert-warning, .matukio-booking .mat-alert--warning, .mat-container .alert-warning, .mat-container .mat-alert--warning {
  background-color: var(--surface-container-lowest);
  color: var(--secondary);
  border: 1px solid var(--secondary-container);
}
/* ============================================
   SINGLE EVENT VIEW Layout adaptation (Neon Slate)
   ============================================ */
.mat-event-page {
  max-width: 100%;
  margin: 0 auto;
  /* ── 1. Hero Banner Header ── */
  /* ── 2. Grid Split Layout ── */
  /* Cards basic configuration */
  /* ── 3. Main Content Card Styles ── */
  /* ── 4. Tickets and Booking Table Adaptation ── */
  /* ── 5. Sidebar Card Styles ── */
  /* Info Details list */
  /* Discreet share section inside details card */
  /* Organizer profile details */
  /* Files list output */
  /* Additional recurring dates */
  /* Social sharing wrapper */
  /* ── 6. Event Description transparent/clean style ── */
  /* ── 7. Hero Badges styling ── */
  /* ── 8. Simplified Organizer styles inside Details card ── */
}
.mat-event-page .mat-event-hero {
  position: relative;
  background-size: cover;
  background-position: center 50%;
  background-repeat: no-repeat;
  border-radius: var(--radius-xl);
  overflow: hidden;
  padding: var(--space-16) var(--gutter) var(--space-10);
  margin-bottom: var(--space-10);
  min-height: 380px;
  display: flex;
  align-items: flex-end;
  box-shadow: var(--shadow-md);
}
@media (max-width: 768px) {
  .mat-event-page .mat-event-hero {
    min-height: 320px;
    padding: var(--space-12) var(--space-6) var(--space-8);
  }
}
.mat-event-page .mat-event-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, oklch(12% 0.04 260/0.35) 0%, oklch(10% 0.04 260/0.92) 100%);
  z-index: 1;
}
.mat-event-page .mat-event-hero__content {
  position: relative;
  z-index: 2;
  width: 100%;
  color: #fff;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
}
.mat-event-page .mat-event-hero__meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
}
.mat-event-page .mat-event-hero__badge {
  display: inline-flex;
  align-items: center;
  padding: var(--space-1) var(--space-4);
  border-radius: var(--radius-full);
  font-size: var(--text-xs);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-family: var(--font-display);
}
.mat-event-page .mat-event-hero__badge.category-badge {
  background: var(--primary-container);
}
.mat-event-page .mat-event-hero__badge.category-badge a {
  color: var(--on-primary-container) !important;
  text-decoration: none;
}
.mat-event-page .mat-event-hero__badge.category-badge a:hover {
  color: #fff !important;
}
.mat-event-page .mat-event-hero__badge.code-badge {
  background: oklch(100% 0 0/0.12);
  color: #fff;
  border: 1px solid oklch(100% 0 0/0.18);
}
.mat-event-page .mat-event-hero__title {
  font-family: var(--font-display);
  font-size: var(--text-3xl);
  font-weight: 900;
  line-height: 1.1;
  color: #fff !important;
  letter-spacing: -0.02em;
  margin: var(--space-2) 0;
  text-shadow: 0 4px 16px oklch(0% 0 0/0.6);
  max-width: 52rem;
}
@media (min-width: 1024px) {
  .mat-event-page .mat-event-hero__title {
    font-size: var(--text-4xl);
  }
}
.mat-event-page .mat-event-hero__target {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  font-size: var(--text-sm);
  background: oklch(0% 0 0/0.4);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  padding: var(--space-2) var(--space-4);
  border-radius: var(--radius-md);
  border: 1px solid oklch(100% 0 0/0.1);
  color: oklch(90% 0.01 260);
}
.mat-event-page .mat-event-hero__target .material-symbols-outlined {
  font-size: 1.15rem;
  color: var(--primary-container);
}
.mat-event-page .mat-event-hero__target strong {
  color: #fff !important;
}
.mat-event-page .mat-event-hero__custom-fields {
  font-size: var(--text-sm);
  color: oklch(85% 0.01 260);
  margin-bottom: var(--space-2);
}
.mat-event-page .mat-event-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4);
  align-items: center;
  margin-top: var(--space-3);
  /* Target standard calendar output button from component */
}
.mat-event-page .mat-event-hero__actions .btn-book-href {
  padding: var(--space-3) var(--space-6) !important;
  font-size: var(--text-base) !important;
}
.mat-event-page .mat-event-hero__actions .mat_btn_ics, .mat-event-page .mat-event-hero__actions a.btn[href*="ical"], .mat-event-page .mat-event-hero__actions .mat-btn-calendar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2) !important;
  background: oklch(100% 0 0/0.08) !important;
  color: #fff !important;
  border: 1px solid oklch(100% 0 0/0.15) !important;
  padding: var(--space-3) var(--space-6) !important;
  font-size: var(--text-sm) !important;
  border-radius: var(--radius-md) !important;
  font-weight: 700;
  text-decoration: none !important;
  transition: all var(--duration-fast);
}
.mat-event-page .mat-event-hero__actions .mat_btn_ics .material-symbols-outlined, .mat-event-page .mat-event-hero__actions a.btn[href*="ical"] .material-symbols-outlined, .mat-event-page .mat-event-hero__actions .mat-btn-calendar .material-symbols-outlined {
  font-size: 1.15rem;
  color: var(--primary-container);
}
.mat-event-page .mat-event-hero__actions .mat_btn_ics:hover, .mat-event-page .mat-event-hero__actions a.btn[href*="ical"]:hover, .mat-event-page .mat-event-hero__actions .mat-btn-calendar:hover {
  background: oklch(100% 0 0/0.16) !important;
  transform: translateY(-1px);
}
.mat-event-page .mat-event-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-8);
  align-items: start;
}
@media (min-width: 1024px) {
  .mat-event-page .mat-event-grid {
    grid-template-columns: 2fr 1fr;
  }
}
.mat-event-page .mat-event-card, .mat-event-page .mat-sidebar-card {
  background-color: var(--surface-container-low);
  border: 1px solid var(--outline-variant);
  border-radius: var(--radius-lg);
  padding: var(--space-6);
  box-shadow: var(--shadow-sm);
  margin-bottom: var(--space-6);
  overflow: hidden;
}
.mat-event-page .mat-card-title, .mat-event-page .mat-sidebar-title {
  font-family: var(--font-display);
  font-size: var(--text-lg);
  font-weight: 800;
  color: var(--primary);
  margin: 0 0 var(--space-5) 0;
  border-bottom: 2px solid var(--primary-container);
  padding-bottom: var(--space-2);
  text-transform: uppercase;
  letter-spacing: 0.02em;
}
.mat-event-page .mat-event-description-content {
  line-height: 1.7;
  font-size: var(--text-base);
  color: var(--on-surface);
}
.mat-event-page .mat-event-description-content p {
  margin-bottom: var(--space-4);
}
.mat-event-page .mat-event-description-content p:last-child {
  margin-bottom: 0;
}
.mat-event-page .mat-tickets-form {
  margin-top: var(--space-4);
}
.mat-event-page .mat_tickets_row_header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: var(--surface-container-high);
  border-radius: var(--radius-md) var(--radius-md) 0 0;
  padding: var(--space-3) var(--space-4);
  font-family: var(--font-display);
  font-weight: 700;
  color: var(--on-surface);
  font-size: var(--text-xs);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border-bottom: 2px solid var(--outline-variant);
  margin-bottom: 0 !important;
}
.mat-event-page .mat_tickets_row_header > div {
  float: none !important;
  padding: 0 !important;
}
.mat-event-page .mat_tickets_row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--space-4);
  background-color: var(--surface-container-lowest);
  border-bottom: 1px solid var(--outline-variant);
  margin: 0 !important;
  /* Ticket Type Title */
  /* Ticket Price */
  /* Quantity input selector */
}
.mat-event-page .mat_tickets_row:last-of-type {
  border-radius: 0 0 var(--radius-md) var(--radius-md);
  border-bottom: 1px solid var(--outline-variant);
}
.mat-event-page .mat_tickets_row > div {
  float: none !important;
  padding: 0 !important;
}
.mat-event-page .mat_tickets_row .col-sm-6, .mat-event-page .mat_tickets_row .col-md-5, .mat-event-page .mat_tickets_row .col-sm-5 {
  font-weight: 700;
  color: var(--on-surface);
  font-size: var(--text-base);
  text-align: left;
}
.mat-event-page .mat_tickets_row .col-sm-5, .mat-event-page .mat_tickets_row .col-md-4, .mat-event-page .mat_tickets_row .col-sm-4 {
  font-family: var(--font-display);
  font-weight: 800;
  color: var(--primary);
  font-size: var(--text-lg);
  text-align: left;
}
.mat-event-page .mat_tickets_row .col-sm-6, .mat-event-page .mat_tickets_row .col-md-2, .mat-event-page .mat_tickets_row .col-sm-3, .mat-event-page .mat_tickets_row .col-sm-2 {
  display: flex;
  justify-content: flex-end;
}
.mat-event-page .mat_tickets_row .col-sm-6 select, .mat-event-page .mat_tickets_row .col-md-2 select, .mat-event-page .mat_tickets_row .col-sm-3 select, .mat-event-page .mat_tickets_row .col-sm-2 select {
  padding: var(--space-2) var(--space-3) !important;
  font-size: var(--text-sm);
  min-width: 80px;
  background-color: var(--surface-container-lowest);
}
.mat-event-page .mat_tickets_row_button {
  margin-top: var(--space-6) !important;
  display: flex;
  justify-content: flex-end;
}
.mat-event-page .mat_tickets_row_button #btn_book {
  background-color: var(--primary-container) !important;
  color: var(--on-primary-container) !important;
  font-family: var(--font-display);
  font-size: var(--text-base);
  font-weight: 800;
  padding: var(--space-3) var(--space-8) !important;
  border-radius: var(--radius-md) !important;
  box-shadow: var(--shadow-glow);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border: none !important;
  transition: all var(--duration-fast);
  cursor: pointer;
}
.mat-event-page .mat_tickets_row_button #btn_book:hover {
  background-color: var(--primary) !important;
  color: #fff !important;
  transform: scale(1.03);
  box-shadow: var(--shadow-glow-strong);
}
.mat-event-page .mat-booking-actions {
  margin-top: var(--space-6);
  display: flex;
  justify-content: flex-start;
}
.mat-event-page .mat-event-sidebar {
  position: relative;
}
@media (min-width: 1024px) {
  .mat-event-page .mat-event-sidebar {
    position: sticky;
    top: calc(80px + var(--space-6));
  }
}
.mat-event-page .mat-info-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}
.mat-event-page .mat-info-item {
  display: flex;
  gap: var(--space-4);
  align-items: flex-start;
}
.mat-event-page .mat-info-icon {
  color: var(--primary);
  font-size: 1.4rem;
  margin-top: 2px;
}
.mat-event-page .mat-info-text {
  display: flex;
  flex-direction: column;
}
.mat-event-page .mat-info-label {
  font-size: var(--text-xs);
  text-transform: uppercase;
  font-weight: 700;
  color: var(--outline);
  letter-spacing: 0.05em;
}
.mat-event-page .mat-info-val {
  font-size: var(--text-base);
  font-weight: 600;
  color: var(--on-surface);
  line-height: 1.45;
}
.mat-event-page .mat-info-val.price-val {
  font-family: var(--font-display);
  font-size: var(--text-lg);
  font-weight: 900;
  color: var(--primary);
}
.mat-event-page .mat-location-link {
  color: var(--primary) !important;
  text-decoration: none !important;
  font-weight: 700;
}
.mat-event-page .mat-location-link:hover {
  text-decoration: underline !important;
}
.mat-event-page .mat-sidebar-actions {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  margin-top: var(--space-6);
  border-top: 1px solid var(--outline-variant);
  padding-top: var(--space-4);
}
.mat-event-page .mat-sidebar-actions .btn {
  width: 100%;
  padding: var(--space-3) var(--space-4) !important;
  font-size: var(--text-sm) !important;
}
.mat-event-page .mat-info-share {
  border-top: 1px dashed var(--outline-variant);
  padding-top: var(--space-4);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.mat-event-page .mat-info-share .mat-info-share-label {
  font-size: var(--text-xs);
  font-weight: 700;
  text-transform: uppercase;
  color: var(--outline);
  letter-spacing: 0.05em;
  font-family: var(--font-display);
}
.mat-event-page .mat-info-share .mat-social-share-buttons {
  margin: 0;
  gap: var(--space-2);
}
.mat-event-page .mat-info-share .mat-share-btn {
  width: 32px;
  height: 32px;
  padding: 0 !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-full) !important;
}
.mat-event-page .mat-info-share .mat-share-btn span {
  display: none !important;
}
.mat-event-page .mat-info-share .mat-share-btn svg {
  width: 16px;
  height: 16px;
}
.mat-event-page .mat-organizer-profile {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.mat-event-page .mat-organizer-avatar {
  max-width: 100%;
  max-height: 80px;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: var(--radius-md) !important;
  border: 1px solid var(--outline-variant) !important;
  margin-bottom: var(--space-4);
  box-shadow: var(--shadow-sm);
  background-color: #fff;
  padding: var(--space-2);
}
.mat-event-page .mat-organizer-name {
  font-family: var(--font-display);
  font-size: var(--text-base);
  font-weight: 700;
  margin: 0 0 var(--space-3) 0;
}
.mat-event-page .mat-organizer-name a {
  color: var(--on-surface);
  text-decoration: none;
}
.mat-event-page .mat-organizer-name a:hover {
  color: var(--primary);
}
.mat-event-page .mat-organizer-details {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  margin-bottom: var(--space-4);
  font-size: var(--text-sm);
  color: var(--on-surface-variant);
}
.mat-event-page .mat-organizer-detail-item {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
}
.mat-event-page .mat-organizer-detail-item .material-symbols-outlined {
  font-size: 1.1rem;
  color: var(--outline);
}
.mat-event-page .mat-organizer-detail-item a {
  color: var(--primary);
  text-decoration: none;
}
.mat-event-page .mat-organizer-detail-item a:hover {
  text-decoration: underline;
}
.mat-event-page .mat-organizer-actions {
  display: flex;
  gap: var(--space-2);
  width: 100%;
}
.mat-event-page .mat-organizer-actions .btn {
  flex: 1;
  padding: var(--space-2) var(--space-3) !important;
  font-size: var(--text-xs) !important;
}
.mat-event-page .mat-files-list ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.mat-event-page .mat-files-list li {
  margin-bottom: var(--space-2);
}
.mat-event-page .mat-files-list li:last-child {
  margin-bottom: 0;
}
.mat-event-page .mat-files-list li a {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-3) var(--space-4);
  background-color: var(--surface-container-lowest);
  border: 1px solid var(--outline-variant);
  border-radius: var(--radius-md);
  color: var(--on-surface);
  text-decoration: none !important;
  font-weight: 600;
  font-size: var(--text-sm);
  transition: all var(--duration-fast);
}
.mat-event-page .mat-files-list li a::before {
  content: "download";
  font-family: "Material Symbols Outlined";
  font-weight: normal;
  font-style: normal;
  font-size: 1.2rem;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-smoothing: antialiased;
  color: var(--primary);
}
.mat-event-page .mat-files-list li a:hover {
  background-color: var(--primary-container);
  color: var(--on-primary-container);
  border-color: var(--primary-container);
}
.mat-event-page .mat-files-list li a:hover::before {
  color: var(--on-primary-container);
}
.mat-event-page .mat-dates-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}
.mat-event-page .mat-date-item {
  display: flex;
  align-items: center;
  gap: var(--space-3);
}
.mat-event-page .mat-date-icon {
  color: var(--primary);
  font-size: 1.25rem;
}
.mat-event-page .mat-date-link {
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--on-surface);
  text-decoration: none;
}
.mat-event-page .mat-date-link:hover {
  color: var(--primary);
  text-decoration: underline;
}
.mat-event-page .mat-social-share {
  /* Style the social sharing component buttons natively */
}
.mat-event-page .mat-social-share .share-buttons, .mat-event-page .mat-social-share [class*="social-share"] {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
}
.mat-event-page .mat-event-description-only {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin-bottom: var(--space-8);
}
.mat-event-page .mat-event-description-only .mat-card-title {
  font-size: var(--text-xl);
  font-weight: 800;
  color: var(--primary);
  margin: 0 0 var(--space-4) 0;
  border-bottom: 2px solid var(--primary-container);
  padding-bottom: var(--space-2);
  text-transform: uppercase;
  letter-spacing: 0.02em;
}
.mat-event-page .mat-event-description-only .mat-event-description-content {
  font-size: var(--text-base);
  line-height: 1.8;
  color: var(--on-surface);
}
.mat-event-page .mat-event-description-only .mat-event-description-content p {
  margin-bottom: var(--space-5);
}
.mat-event-page .mat-event-description-only .mat-event-description-content ul {
  list-style-type: disc !important;
  margin-bottom: var(--space-5);
  padding-left: var(--space-6);
}
.mat-event-page .mat-event-description-only .mat-event-description-content ul li {
  margin-bottom: var(--space-2);
}
.mat-event-page .mat-event-description-only .mat-event-description-content ul li:last-child {
  margin-bottom: 0;
}
.mat-event-page .mat-event-description-only .mat-event-description-content ol {
  list-style-type: decimal !important;
  margin-bottom: var(--space-5);
  padding-left: var(--space-6);
}
.mat-event-page .mat-event-description-only .mat-event-description-content ol li {
  margin-bottom: var(--space-2);
}
.mat-event-page .mat-event-description-only .mat-event-description-content ol li:last-child {
  margin-bottom: 0;
}
.mat-event-page .mat-event-hero__badge.date-badge {
  background: var(--primary-container) !important;
  color: var(--on-primary-container) !important;
  border: none !important;
}
.mat-event-page .mat-event-hero__badge.location-badge {
  background: oklch(100% 0 0/0.12) !important;
  color: #fff !important;
  border: 1px solid oklch(100% 0 0/0.18) !important;
}
.mat-event-page .mat-info-organizer-row {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  margin-top: var(--space-2);
}
.mat-event-page .mat-info-organizer-img {
  height: 24px;
  width: auto;
  object-fit: contain;
  border-radius: var(--radius-sm);
  background-color: #fff;
  padding: 2px;
  border: 1px solid var(--outline-variant);
}
.mat-event-page .mat-info-organizer-links {
  margin-top: var(--space-2);
  font-size: var(--text-xs);
  color: var(--outline);
  display: flex;
  align-items: center;
  gap: var(--space-2);
}
.mat-event-page .mat-info-organizer-links .mat-organizer-sublink {
  color: var(--primary) !important;
  text-decoration: none !important;
  font-weight: 700;
}
.mat-event-page .mat-info-organizer-links .mat-organizer-sublink:hover {
  text-decoration: underline !important;
}
/* ============================================
   SHARED SOCIAL SHARING BUTTONS
   ============================================ */
.mat-social-share-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
}
.mat-share-btn {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-2) var(--space-4) !important;
  border-radius: var(--radius-md) !important;
  font-size: var(--text-sm) !important;
  font-weight: 700;
  color: #fff !important;
  text-decoration: none !important;
  border: none !important;
  transition: transform var(--duration-fast), opacity var(--duration-fast);
}
.mat-share-btn:hover {
  transform: translateY(-1px);
  opacity: 0.9;
}
.mat-share-btn:active {
  transform: scale(0.97);
}
.mat-share-btn svg {
  flex-shrink: 0;
}
.mat-share-btn--facebook {
  background-color: #1877f2 !important;
}
.mat-share-btn--twitter {
  background-color: #0f1419 !important;
}
.mat-share-btn--whatsapp {
  background-color: #25d366 !important;
}
.mat-share-btn--email {
  background-color: var(--secondary) !important;
}
/* ============================================
   SINGLE ORGANIZER VIEW Layout adaptation (Neon Slate)
   ============================================ */
.mat-organizer-page {
  max-width: 100%;
  margin: 0 auto;
  /* ── 1. Hero Banner Header ── */
  /* ── 2. Grid Split Layout ── */
  /* Cards basic configuration */
  /* ── 3. Main Content Card Styles ── */
  /* Sidebar configuration */
  /* Discreet share section inside details card */
  /* Upcoming events list */
}
.mat-organizer-page .mat-organizer-hero {
  position: relative;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-color: oklch(12% 0.04 260);
  border-radius: var(--radius-xl);
  overflow: hidden;
  padding: var(--space-12) var(--gutter) var(--space-10);
  margin-bottom: var(--space-10);
  min-height: 240px;
  display: flex;
  align-items: flex-end;
  box-shadow: var(--shadow-md);
}
@media (max-width: 768px) {
  .mat-organizer-page .mat-organizer-hero {
    min-height: 180px;
    padding: var(--space-8) var(--space-6) var(--space-6);
  }
}
.mat-organizer-page .mat-organizer-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, oklch(12% 0.04 260/0.35) 0%, oklch(10% 0.04 260/0.92) 100%);
  z-index: 1;
}
.mat-organizer-page .mat-organizer-hero__content {
  position: relative;
  z-index: 2;
  width: 100%;
  color: #fff;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}
.mat-organizer-page .mat-organizer-hero__meta {
  display: flex;
  gap: var(--space-3);
}
.mat-organizer-page .mat-organizer-hero__badge {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-2) var(--space-4);
  border-radius: var(--radius-full);
  font-size: var(--text-xs);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-family: var(--font-display);
  line-height: 1;
  background: var(--primary-container);
  color: var(--on-primary-container);
}
.mat-organizer-page .mat-organizer-hero__badge .material-symbols-outlined {
  font-size: 1.15rem;
}
.mat-organizer-page .mat-organizer-hero__profile-row {
  display: flex;
  align-items: center;
  gap: var(--space-5);
  flex-wrap: wrap;
  width: 100%;
}
.mat-organizer-page .mat-organizer-hero__avatar-container {
  width: 90px;
  height: 90px;
  border-radius: var(--radius-lg);
  background-color: #fff;
  padding: var(--space-2);
  border: 2px solid oklch(100% 0 0/0.15);
  box-shadow: var(--shadow-md);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
@media (max-width: 768px) {
  .mat-organizer-page .mat-organizer-hero__avatar-container {
    width: 70px;
    height: 70px;
  }
}
.mat-organizer-page .mat-organizer-hero__avatar {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.mat-organizer-page .mat-organizer-hero__title {
  font-family: var(--font-display);
  font-size: var(--text-3xl);
  font-weight: 900;
  line-height: 1.1;
  color: #fff !important;
  letter-spacing: -0.02em;
  margin: 0;
  text-shadow: 0 4px 12px oklch(0% 0 0/0.4);
  max-width: 42rem;
  flex: 1;
  min-width: 250px;
}
@media (min-width: 1024px) {
  .mat-organizer-page .mat-organizer-hero__title {
    font-size: var(--text-4xl);
  }
}
.mat-organizer-page .mat-organizer-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-8);
  align-items: start;
}
@media (min-width: 1024px) {
  .mat-organizer-page .mat-organizer-grid {
    grid-template-columns: 2fr 1fr;
  }
}
.mat-organizer-page .mat-organizer-card, .mat-organizer-page .mat-sidebar-card {
  background-color: var(--surface-container-low);
  border: 1px solid var(--outline-variant);
  border-radius: var(--radius-lg);
  padding: var(--space-6);
  box-shadow: var(--shadow-sm);
  margin-bottom: var(--space-6);
  overflow: hidden;
}
.mat-organizer-page .mat-card-title, .mat-organizer-page .mat-sidebar-title {
  font-family: var(--font-display);
  font-size: var(--text-lg);
  font-weight: 800;
  color: var(--primary);
  margin: 0 0 var(--space-5) 0;
  border-bottom: 2px solid var(--primary-container);
  padding-bottom: var(--space-2);
  text-transform: uppercase;
  letter-spacing: 0.02em;
}
.mat-organizer-page .mat-organizer-description-only {
  background: transparent;
  border: none;
  box-shadow: none;
  padding: 0;
  margin-bottom: var(--space-8);
}
.mat-organizer-page .mat-organizer-description-only .mat-organizer-description-content {
  font-size: var(--text-base);
  line-height: 1.8;
  color: var(--on-surface);
}
.mat-organizer-page .mat-organizer-description-only .mat-organizer-description-content p {
  margin-bottom: var(--space-5);
}
.mat-organizer-page .mat-organizer-description-only .mat-organizer-description-content ul {
  list-style-type: disc !important;
  margin-bottom: var(--space-5);
  padding-left: var(--space-6);
}
.mat-organizer-page .mat-organizer-description-only .mat-organizer-description-content ul li {
  margin-bottom: var(--space-2);
}
.mat-organizer-page .mat-organizer-description-only .mat-organizer-description-content ul li:last-child {
  margin-bottom: 0;
}
.mat-organizer-page .mat-organizer-description-only .mat-organizer-description-content ol {
  list-style-type: decimal !important;
  margin-bottom: var(--space-5);
  padding-left: var(--space-6);
}
.mat-organizer-page .mat-organizer-description-only .mat-organizer-description-content ol li {
  margin-bottom: var(--space-2);
}
.mat-organizer-page .mat-organizer-description-only .mat-organizer-description-content ol li:last-child {
  margin-bottom: 0;
}
.mat-organizer-page .mat-organizer-sidebar {
  position: relative;
}
@media (min-width: 1024px) {
  .mat-organizer-page .mat-organizer-sidebar {
    position: sticky;
    top: calc(80px + var(--space-6));
  }
}
.mat-organizer-page .mat-info-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}
.mat-organizer-page .mat-info-item {
  display: flex;
  gap: var(--space-4);
  align-items: flex-start;
}
.mat-organizer-page .mat-info-icon {
  color: var(--primary);
  font-size: 1.4rem;
  margin-top: 2px;
}
.mat-organizer-page .mat-info-text {
  display: flex;
  flex-direction: column;
}
.mat-organizer-page .mat-info-label {
  font-size: var(--text-xs);
  text-transform: uppercase;
  font-weight: 700;
  color: var(--outline);
  letter-spacing: 0.05em;
}
.mat-organizer-page .mat-info-val {
  font-size: var(--text-base);
  font-weight: 600;
  color: var(--on-surface);
  line-height: 1.45;
}
.mat-organizer-page .mat-location-link {
  color: var(--primary) !important;
  text-decoration: none !important;
  font-weight: 700;
  word-break: break-all;
  word-wrap: break-word;
  white-space: normal;
}
.mat-organizer-page .mat-location-link:hover {
  text-decoration: underline !important;
}
.mat-organizer-page .mat-phone-link {
  color: var(--on-surface) !important;
  text-decoration: none !important;
}
.mat-organizer-page .mat-phone-link:hover {
  color: var(--primary) !important;
}
.mat-organizer-page .mat-info-share {
  border-top: 1px dashed var(--outline-variant);
  padding-top: var(--space-4);
  margin-top: var(--space-4);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.mat-organizer-page .mat-info-share .mat-info-share-label {
  font-size: var(--text-xs);
  font-weight: 700;
  text-transform: uppercase;
  color: var(--outline);
  letter-spacing: 0.05em;
  font-family: var(--font-display);
}
.mat-organizer-page .mat-info-share .mat-social-share-buttons {
  margin: 0;
  display: flex;
  gap: var(--space-2);
}
.mat-organizer-page .mat-info-share .mat-share-btn {
  width: 32px;
  height: 32px;
  padding: 0 !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-full) !important;
}
.mat-organizer-page .mat-info-share .mat-share-btn span {
  display: none !important;
}
.mat-organizer-page .mat-info-share .mat-share-btn svg {
  width: 16px;
  height: 16px;
}
.mat-organizer-page .mat-sidebar-actions .btn {
  width: 100%;
  padding: var(--space-3) var(--space-4) !important;
  font-size: var(--text-sm) !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
}
.mat-organizer-page .mat-sidebar-actions .btn .material-symbols-outlined {
  font-size: 1.2rem;
}
.mat-organizer-page .mat-organizer-upcoming {
  margin-top: var(--space-8);
}
.mat-organizer-page .mat-organizer-upcoming .mat-upcoming-title {
  font-family: var(--font-display);
  font-size: var(--text-xl);
  font-weight: 800;
  color: var(--on-surface);
  margin-bottom: var(--space-6);
  border-bottom: 2px solid var(--outline-variant);
  padding-bottom: var(--space-2);
}
/* ============================================
   SINGLE LOCATION VIEW Layout adaptation (Neon Slate)
   ============================================ */
.mat-location-page {
  max-width: 100%;
  margin: 0 auto;
  /* ── 1. Hero Banner Header ── */
  /* ── 2. Grid Split Layout ── */
  /* Cards basic configuration */
  /* ── 3. Main Content Card Styles ── */
  /* Sidebar configuration */
  /* Info Details list for Location profile */
  /* Discreet share section inside details card */
  /* Upcoming events list */
}
.mat-location-page .mat-location-hero {
  position: relative;
  background-size: cover;
  background-position: top;
  background-repeat: no-repeat;
  background-color: oklch(12% 0.04 260);
  border-radius: var(--radius-xl);
  overflow: hidden;
  padding: var(--space-12) var(--gutter) var(--space-10);
  margin-bottom: var(--space-10);
  min-height: 240px;
  display: flex;
  align-items: flex-end;
  box-shadow: var(--shadow-md);
}
@media (max-width: 768px) {
  .mat-location-page .mat-location-hero {
    min-height: 180px;
    padding: var(--space-8) var(--space-6) var(--space-6);
  }
}
.mat-location-page .mat-location-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, oklch(12% 0.04 260/0.35) 0%, oklch(10% 0.04 260/0.92) 100%);
  z-index: 1;
}
.mat-location-page .mat-location-hero__content {
  position: relative;
  z-index: 2;
  width: 100%;
  color: #fff;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
}
.mat-location-page .mat-location-hero__meta {
  display: flex;
  gap: var(--space-3);
}
.mat-location-page .mat-location-hero__badge {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-2) var(--space-4);
  border-radius: var(--radius-full);
  font-size: var(--text-xs);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-family: var(--font-display);
  line-height: 1;
  background: var(--primary-container);
  color: var(--on-primary-container);
}
.mat-location-page .mat-location-hero__badge .material-symbols-outlined {
  font-size: 1.15rem;
}
.mat-location-page .mat-location-hero__title {
  font-family: var(--font-display);
  font-size: var(--text-3xl);
  font-weight: 900;
  line-height: 1.1;
  color: #fff !important;
  letter-spacing: -0.02em;
  margin: var(--space-2) 0;
  text-shadow: 0 4px 12px oklch(0% 0 0/0.4);
  max-width: 52rem;
}
@media (min-width: 1024px) {
  .mat-location-page .mat-location-hero__title {
    font-size: var(--text-4xl);
  }
}
.mat-location-page .mat-location-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-8);
  align-items: start;
}
@media (min-width: 1024px) {
  .mat-location-page .mat-location-grid {
    grid-template-columns: 2fr 1fr;
  }
}
.mat-location-page .mat-location-card, .mat-location-page .mat-sidebar-card {
  background-color: var(--surface-container-low);
  border: 1px solid var(--outline-variant);
  border-radius: var(--radius-lg);
  padding: var(--space-6);
  box-shadow: var(--shadow-sm);
  margin-bottom: var(--space-6);
  overflow: hidden;
}
.mat-location-page .mat-card-title, .mat-location-page .mat-sidebar-title {
  font-family: var(--font-display);
  font-size: var(--text-lg);
  font-weight: 800;
  color: var(--primary);
  margin: 0 0 var(--space-5) 0;
  border-bottom: 2px solid var(--primary-container);
  padding-bottom: var(--space-2);
  text-transform: uppercase;
  letter-spacing: 0.02em;
}
.mat-location-page .mat-location-description-only {
  background: transparent;
  border: none;
  box-shadow: none;
  padding: 0;
  margin-bottom: var(--space-8);
}
.mat-location-page .mat-location-description-only .mat-location-description-content {
  font-size: var(--text-base);
  line-height: 1.8;
  color: var(--on-surface);
}
.mat-location-page .mat-location-description-only .mat-location-description-content p {
  margin-bottom: var(--space-5);
}
.mat-location-page .mat-location-description-only .mat-location-description-content ul {
  list-style-type: disc !important;
  margin-bottom: var(--space-5);
  padding-left: var(--space-6);
}
.mat-location-page .mat-location-description-only .mat-location-description-content ul li {
  margin-bottom: var(--space-2);
}
.mat-location-page .mat-location-description-only .mat-location-description-content ul li:last-child {
  margin-bottom: 0;
}
.mat-location-page .mat-location-description-only .mat-location-description-content ol {
  list-style-type: decimal !important;
  margin-bottom: var(--space-5);
  padding-left: var(--space-6);
}
.mat-location-page .mat-location-description-only .mat-location-description-content ol li {
  margin-bottom: var(--space-2);
}
.mat-location-page .mat-location-description-only .mat-location-description-content ol li:last-child {
  margin-bottom: 0;
}
.mat-location-page .mat-location-sidebar {
  position: relative;
}
@media (min-width: 1024px) {
  .mat-location-page .mat-location-sidebar {
    position: sticky;
    top: calc(80px + var(--space-6));
  }
}
.mat-location-page .mat-info-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}
.mat-location-page .mat-info-item {
  display: flex;
  gap: var(--space-4);
  align-items: flex-start;
}
.mat-location-page .mat-info-icon {
  color: var(--primary);
  font-size: 1.4rem;
  margin-top: 2px;
}
.mat-location-page .mat-info-text {
  display: flex;
  flex-direction: column;
}
.mat-location-page .mat-info-label {
  font-size: var(--text-xs);
  text-transform: uppercase;
  font-weight: 700;
  color: var(--outline);
  letter-spacing: 0.05em;
}
.mat-location-page .mat-info-val {
  font-size: var(--text-base);
  font-weight: 600;
  color: var(--on-surface);
  line-height: 1.45;
}
.mat-location-page .mat-location-link {
  color: var(--primary) !important;
  text-decoration: none !important;
  font-weight: 700;
  word-break: break-all;
  word-wrap: break-word;
  white-space: normal;
}
.mat-location-page .mat-location-link:hover {
  text-decoration: underline !important;
}
.mat-location-page .mat-info-share {
  border-top: 1px dashed var(--outline-variant);
  padding-top: var(--space-4);
  margin-top: var(--space-4);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.mat-location-page .mat-info-share .mat-info-share-label {
  font-size: var(--text-xs);
  font-weight: 700;
  text-transform: uppercase;
  color: var(--outline);
  letter-spacing: 0.05em;
  font-family: var(--font-display);
}
.mat-location-page .mat-info-share .mat-social-share-buttons {
  margin: 0;
  display: flex;
  gap: var(--space-2);
}
.mat-location-page .mat-info-share .mat-share-btn {
  width: 32px;
  height: 32px;
  padding: 0 !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-full) !important;
}
.mat-location-page .mat-info-share .mat-share-btn span {
  display: none !important;
}
.mat-location-page .mat-info-share .mat-share-btn svg {
  width: 16px;
  height: 16px;
}
.mat-location-page .mat-location-upcoming {
  margin-top: var(--space-8);
}
.mat-location-page .mat-location-upcoming .mat-upcoming-title {
  font-family: var(--font-display);
  font-size: var(--text-xl);
  font-weight: 800;
  color: var(--on-surface);
  margin-bottom: var(--space-6);
  border-bottom: 2px solid var(--outline-variant);
  padding-bottom: var(--space-2);
}
/* ============================================
   UPCOMING EVENT LIST CARDS Layout Adaptation (Neon Slate)
   ============================================ */
.mat-upcoming-list {
  display: flex !important;
  flex-direction: column !important;
  gap: var(--space-6) !important;
  width: 100% !important;
}
.mat_event_single_holder {
  margin-bottom: var(--space-6) !important;
  width: 100% !important;
}
.mat_event_single_holder_inner {
  background-color: var(--surface-container-low) !important;
  border: 1px solid var(--outline-variant) !important;
  border-radius: var(--radius-lg) !important;
  padding: var(--space-6) !important;
  box-shadow: var(--shadow-sm);
  display: flex !important;
  flex-direction: column !important;
  gap: var(--space-5) !important;
  transition: transform var(--duration-normal) var(--ease-out-quart), border-color var(--duration-normal) var(--ease-out-quart), box-shadow var(--duration-normal) var(--ease-out-quart);
}
.mat_event_single_holder_inner::before, .mat_event_single_holder_inner::after {
  display: none !important;
}
.mat_event_single_holder_inner:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-md);
  border-color: var(--primary-container) !important;
}
@media (min-width: 768px) {
  .mat_event_single_holder_inner {
    flex-direction: row !important;
    align-items: stretch !important;
  }
}
.mat_event_image_holder {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  float: none !important;
  flex-shrink: 0 !important;
}
.mat_event_image_holder::before, .mat_event_image_holder::after {
  display: none !important;
}
@media (min-width: 768px) {
  .mat_event_image_holder {
    display: none !important;
  }
}
.mat_event_image_holder_inner {
  height: 100% !important;
  width: 100% !important;
}
.mat_event_img {
  border-radius: var(--radius-md) !important;
  border: 1px solid var(--outline-variant) !important;
  background-color: transparent !important;
  height: 160px !important;
  width: 100% !important;
  object-fit: cover !important;
  padding: 0 !important;
}
@media (min-width: 768px) {
  .mat_event_img {
    height: 100% !important;
    min-height: 140px !important;
  }
}
.mat_event_row {
  width: auto !important;
  flex-grow: 1 !important;
  padding: 0 !important;
  float: none !important;
  display: flex !important;
  flex-direction: column !important;
  gap: var(--space-4) !important;
  min-width: 0 !important;
}
.mat_event_row::before, .mat_event_row::after {
  display: none !important;
}
.mat_event-heading {
  display: flex !important;
  flex-direction: column !important;
  gap: var(--space-2) !important;
}
.mat_event-title {
  font-family: var(--font-display) !important;
  font-size: var(--text-xl) !important;
  font-weight: 800 !important;
  margin: 0 !important;
  line-height: 1.25 !important;
}
.mat_event-title a {
  color: var(--on-surface) !important;
  text-decoration: none !important;
  transition: color var(--duration-fast);
}
.mat_event-title a:hover {
  color: var(--primary) !important;
}
.mat_event_top_informations {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: var(--space-4) !important;
  font-size: var(--text-xs) !important;
  color: var(--outline) !important;
  align-items: center !important;
  margin: 0 !important;
}
.mat_event_top_informations span {
  display: inline-flex !important;
  align-items: center !important;
  gap: var(--space-1) !important;
}
.mat_event_top_informations span i {
  font-size: var(--text-sm) !important;
  color: var(--primary) !important;
  top: 0 !important;
  margin-top: 1px !important;
}
.mat_event_top_informations .mat_event_fees {
  font-weight: 700 !important;
  color: var(--primary) !important;
  font-family: var(--font-display) !important;
}
.mat_event-body {
  font-size: var(--text-sm) !important;
  line-height: 1.6 !important;
  color: var(--on-surface-variant) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: var(--space-4) !important;
}
.mat_event-body::before, .mat_event-body::after {
  display: none !important;
}
.mat_event_shortdesc {
  color: var(--on-surface-variant) !important;
  font-size: var(--text-sm) !important;
  line-height: 1.6 !important;
}
.mat_event_shortdesc p {
  margin: 0 !important;
}
.mat_event_date, .mat_event_location {
  display: flex !important;
  align-items: flex-start !important;
  gap: var(--space-3) !important;
  font-weight: 600 !important;
  color: var(--on-surface) !important;
  margin: 0 !important;
}
.mat_event_date i, .mat_event_location i {
  color: var(--primary) !important;
  font-size: var(--text-base) !important;
  margin-top: 2px !important;
  flex-shrink: 0 !important;
}
.mat_event-buttons {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: var(--space-3) !important;
  margin-top: var(--space-2) !important;
  border-top: 1px dashed var(--outline-variant) !important;
  padding-top: var(--space-4) !important;
}
.mat_event-buttons::before, .mat_event-buttons::after {
  display: none !important;
}
.mat_event-buttons .btn {
  padding: var(--space-2) var(--space-4) !important;
  font-size: var(--text-xs) !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  flex-grow: 1 !important;
  margin: 0 !important;
}
@media (min-width: 480px) {
  .mat_event-buttons .btn {
    flex-grow: 0 !important;
    min-width: 140px !important;
  }
}
.mat-phone-link {
  color: var(--on-surface) !important;
  text-decoration: none !important;
  transition: color var(--duration-fast);
}
.mat-phone-link:hover {
  color: var(--primary) !important;
  text-decoration: underline !important;
}
/* ============================================
   GOOGLE MAPS & DIRECTIONS GLOBAL STYLING
   ============================================ */
.mat-map-container {
  position: relative;
  height: 300px;
  border-radius: var(--radius-md);
  overflow: hidden;
  border: 1px solid var(--outline-variant);
}
@media (min-width: 768px) {
  .mat-map-container {
    height: 380px;
  }
}
.mat-map-canvas {
  height: 100% !important;
  width: 100% !important;
}
.mat-map-overlay {
  position: absolute;
  right: var(--space-3);
  bottom: var(--space-3);
  background: oklch(100% 0 0/0.95);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid var(--outline-variant);
  border-radius: var(--radius-md);
  width: 230px;
  padding: var(--space-3);
  box-shadow: var(--shadow-md);
  z-index: 5;
  /* Custom maps links */
}
.mat-map-overlay .mat_event_location {
  display: flex !important;
  flex-flow: row wrap !important;
  align-items: center !important;
  gap: 0 var(--space-4) !important;
  width: 100% !important;
}
.mat-map-overlay .mat_event_location h4, .mat-map-overlay .mat_event_location > a {
  width: 100% !important;
  flex: 0 0 100% !important;
  margin: 0 0 var(--space-1) 0 !important;
}
.mat-map-overlay h4 {
  margin: 0 0 var(--space-1) 0;
  font-size: var(--text-sm);
  font-weight: 700;
  color: var(--on-surface);
}
.mat-map-overlay .mat_location_gmaploc {
  font-size: var(--text-xs);
  color: var(--outline);
  margin-bottom: var(--space-3);
  display: flex;
  align-items: center;
  gap: var(--space-1);
}
.mat-map-overlay .mat_location_desc {
  display: none;
}
.mat-map-overlay .mat-location-gmap, .mat-map-overlay .mat-location-web {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  font-size: var(--text-xs);
  margin-top: var(--space-2);
}
.mat-map-overlay .mat-location-gmap .material-symbols-outlined, .mat-map-overlay .mat-location-web .material-symbols-outlined {
  font-size: 1.1rem;
  color: var(--primary);
}
.mat-map-overlay .mat-location-gmap a, .mat-map-overlay .mat-location-web a {
  color: var(--primary) !important;
  font-weight: 700;
  text-decoration: none !important;
}
.mat-map-overlay .mat-location-gmap a:hover, .mat-map-overlay .mat-location-web a:hover {
  text-decoration: underline !important;
}
#mat_map_controls_inner {
  display: flex;
  gap: var(--space-2);
  justify-content: flex-end;
}
#mat_map_controls_inner a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: var(--radius-full);
  background-color: var(--surface-container-high);
  color: var(--primary) !important;
  border: none !important;
  transition: all var(--duration-fast);
}
#mat_map_controls_inner a:hover {
  background-color: var(--primary-container);
  color: var(--on-primary-container) !important;
}
#mat_map_controls_inner a .material-symbols-outlined {
  font-size: 1.15rem;
}
.mat-route-planner {
  position: absolute;
  top: var(--space-3);
  left: var(--space-3);
  right: var(--space-3);
  background: #fff;
  border: 1px solid var(--outline-variant);
  border-radius: var(--radius-md);
  padding: var(--space-3);
  box-shadow: var(--shadow-lg);
  z-index: 6;
}
.mat-route-planner .top-15 {
  margin-top: var(--space-3);
}
.mat-route-planner .mat-route-planner-header {
  margin-bottom: var(--space-2);
}
.mat-route-planner .mat-route-planner-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: var(--radius-full);
  background-color: var(--surface-container-high);
  color: var(--outline) !important;
  transition: all var(--duration-fast);
}
.mat-route-planner .mat-route-planner-close .material-symbols-outlined {
  font-size: 1.1rem;
}
.mat-route-planner .mat-route-planner-close:hover {
  background-color: var(--error);
  color: #fff !important;
}
/* ============================================
   BOOKING VIEW Layout Adaptation (Neon Slate)
   ============================================ */
.mat-booking-page {
  max-width: 100%;
  margin: 0 auto;
  /* ── 1. Hero Banner Header ── */
  /* ── 2. Grid Split Layout ── */
  /* ── 3. Stepper Indicators (.cforms-steps) ── */
  /* ── 4. Form Pages and Content ── */
  /* Form Layout Controls */
  /* Radio & Checkbox adaptations */
  /* Fees selector elements within form */
  /* Chosen select override styles */
  /* ── 5. Confirmation Page Card ── */
  /* Fees listing on confirmation page */
  /* ── 6. Terms, Captcha & Agreements ── */
  /* Captcha styling override */
  /* ── 7. Navigation Buttons ── */
  /* ── 8. Error display alert (#error-container) ── */
  /* ── 9. Intro and End texts ── */
  /* ── 10. Sidebar adaptation sticky layout ── */
  /* Details Card Style Overrides */
  /* Coupon input and button spacing separation */
}
.mat-booking-page .mat-booking-hero {
  position: relative;
  background-size: cover;
  background-position: center 50%;
  background-repeat: no-repeat;
  border-radius: var(--radius-xl);
  overflow: hidden;
  padding: var(--space-12) var(--gutter) var(--space-8);
  margin-bottom: var(--space-10);
  min-height: 200px;
  display: flex;
  align-items: flex-end;
  box-shadow: var(--shadow-md);
}
@media (max-width: 768px) {
  .mat-booking-page .mat-booking-hero {
    min-height: 160px;
    padding: var(--space-8) var(--space-6) var(--space-6);
  }
}
.mat-booking-page .mat-booking-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, oklch(12% 0.04 260/0.35) 0%, oklch(10% 0.04 260/0.92) 100%);
  z-index: 1;
}
.mat-booking-page .mat-booking-hero__content {
  position: relative;
  z-index: 2;
  width: 100%;
  color: #fff;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-2);
}
.mat-booking-page .mat-booking-hero__meta {
  display: flex;
  gap: var(--space-3);
}
.mat-booking-page .mat-booking-hero__badge {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-1) var(--space-4);
  border-radius: var(--radius-full);
  font-size: var(--text-xs);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-family: var(--font-display);
  background: var(--primary-container);
  color: var(--on-primary-container);
}
.mat-booking-page .mat-booking-hero__badge .material-symbols-outlined {
  font-size: 1.15rem;
}
.mat-booking-page .mat-booking-hero__title {
  font-family: var(--font-display);
  font-size: var(--text-2xl);
  font-weight: 900;
  line-height: 1.2;
  color: #fff !important;
  letter-spacing: -0.01em;
  margin: 0;
  text-shadow: 0 4px 12px oklch(0% 0 0/0.5);
  max-width: 52rem;
}
@media (min-width: 1024px) {
  .mat-booking-page .mat-booking-hero__title {
    font-size: var(--text-3xl);
  }
}
.mat-booking-page .mat-booking-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-8);
  align-items: start;
}
@media (min-width: 1024px) {
  .mat-booking-page .mat-booking-grid {
    grid-template-columns: 2fr 1fr;
  }
}
.mat-booking-page .mat-booking-main {
  min-width: 0;
}
.mat-booking-page .cforms-steps {
  background-color: var(--surface-container-low) !important;
  border: 1px solid var(--outline-variant) !important;
  border-radius: var(--radius-lg) !important;
  padding: var(--space-4) !important;
  margin-bottom: var(--space-8) !important;
  box-shadow: var(--shadow-sm);
}
.mat-booking-page .cforms-steps ul.steps-items {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: space-around !important;
  align-items: center !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
  border: none !important;
  gap: var(--space-2) !important;
}
.mat-booking-page .cforms-steps ul.steps-items::before, .mat-booking-page .cforms-steps ul.steps-items::after {
  display: none !important;
}
.mat-booking-page .cforms-steps ul.steps-items li {
  float: none !important;
  flex: 1 1 auto !important;
  text-align: center !important;
}
.mat-booking-page .cforms-steps a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: var(--space-3) !important;
  padding: var(--space-2) var(--space-4) !important;
  color: var(--outline) !important;
  font-family: var(--font-display) !important;
  font-size: var(--text-sm) !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  border-radius: var(--radius-md) !important;
  transition: all var(--duration-fast) !important;
  background: transparent !important;
}
.mat-booking-page .cforms-steps a::before, .mat-booking-page .cforms-steps a::after {
  display: none !important;
}
.mat-booking-page .cforms-steps a:hover {
  color: var(--primary) !important;
  background-color: var(--surface-container) !important;
}
.mat-booking-page .cforms-steps a span:first-child {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 28px !important;
  height: 28px !important;
  border: 2px solid var(--outline-variant) !important;
  border-radius: var(--radius-full) !important;
  font-family: var(--font-display) !important;
  font-weight: 800 !important;
  font-size: var(--text-sm) !important;
  background-color: var(--surface-container-lowest) !important;
  color: var(--outline) !important;
  margin-right: 0 !important;
  padding: 0 !important;
  transition: all var(--duration-fast) !important;
}
.mat-booking-page .cforms-steps a.step-active {
  color: var(--on-primary-container) !important;
  background-color: var(--surface-container-high) !important;
}
.mat-booking-page .cforms-steps a.step-active span:first-child {
  border-color: var(--primary-container) !important;
  background-color: var(--primary-container) !important;
  color: var(--on-primary-container) !important;
  box-shadow: 0 0 10px oklch(75% 0.18 165/0.3);
}
.mat-booking-page .cforms-page {
  background-color: var(--surface-container-low);
  border: 1px solid var(--outline-variant);
  border-radius: var(--radius-lg);
  padding: var(--space-6);
  box-shadow: var(--shadow-sm);
  margin-bottom: var(--space-6);
}
.mat-booking-page .cforms-page h3, .mat-booking-page .cforms-page .control-legend {
  font-family: var(--font-display);
  font-size: var(--text-lg);
  font-weight: 800;
  color: var(--primary);
  margin-top: 0;
  margin-bottom: var(--space-6);
  border-bottom: 2px solid var(--primary-container);
  padding-bottom: var(--space-2);
  text-transform: uppercase;
  letter-spacing: 0.02em;
}
.mat-booking-page .form-group {
  margin-bottom: var(--space-5) !important;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}
.mat-booking-page .form-group .control-label {
  font-family: var(--font-body);
  font-weight: 700;
  color: var(--on-surface);
  font-size: var(--text-sm);
  margin-bottom: 0;
  text-align: left;
}
.mat-booking-page .form-group .help-block {
  font-size: var(--text-xs);
  color: var(--outline);
  margin-top: 1px;
}
.mat-booking-page .radio, .mat-booking-page .checkbox, .mat-booking-page .input-checkbox-element, .mat-booking-page .input-radio-element {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  margin: var(--space-2) 0 !important;
  padding: 0 !important;
}
.mat-booking-page .radio input[type="radio"], .mat-booking-page .radio input[type="checkbox"], .mat-booking-page .checkbox input[type="radio"], .mat-booking-page .checkbox input[type="checkbox"], .mat-booking-page .input-checkbox-element input[type="radio"], .mat-booking-page .input-checkbox-element input[type="checkbox"], .mat-booking-page .input-radio-element input[type="radio"], .mat-booking-page .input-radio-element input[type="checkbox"] {
  position: static !important;
  margin: 0 !important;
  width: 18px;
  height: 18px;
  cursor: pointer;
  accent-color: var(--primary);
}
.mat-booking-page .radio label, .mat-booking-page .checkbox label, .mat-booking-page .input-checkbox-element label, .mat-booking-page .input-radio-element label {
  font-family: var(--font-body);
  font-weight: 500;
  color: var(--on-surface);
  font-size: var(--text-base);
  margin-bottom: 0;
  cursor: pointer;
}
.mat-booking-page .input-matukiofees {
  background-color: var(--surface-container-lowest) !important;
  border: 1px solid var(--outline-variant) !important;
  border-radius: var(--radius-md) !important;
  padding: var(--space-5) !important;
  box-shadow: none !important;
  margin-bottom: var(--space-6);
}
.mat-booking-page .input-matukiofees .fees-table {
  margin-bottom: var(--space-4) !important;
  width: 100%;
  border-collapse: collapse;
}
.mat-booking-page .input-matukiofees .fees-table .ticket-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--space-3) 0;
  border-bottom: 1px solid var(--outline-variant);
}
.mat-booking-page .input-matukiofees .fees-table .ticket-row:last-child {
  border-bottom: none;
}
.mat-booking-page .input-matukiofees .fees-table .ticket-title {
  font-weight: 700;
  color: var(--on-surface);
}
.mat-booking-page .input-matukiofees .fees-table .ticket-price {
  font-family: var(--font-display);
  font-weight: 800;
  color: var(--primary);
  font-size: var(--text-base);
}
.mat-booking-page .input-matukiofees #extra-fees, .mat-booking-page .input-matukiofees #fees-table, .mat-booking-page .input-matukiofees #payment-method, .mat-booking-page .input-matukiofees #quantity-select {
  border-bottom: 1px dashed var(--outline-variant) !important;
  padding: var(--space-4) 0 !important;
  margin: 0 !important;
}
.mat-booking-page .input-matukiofees #total-amount-container {
  margin-top: var(--space-4) !important;
  display: block !important;
  width: 100%;
  text-align: right;
}
.mat-booking-page .input-matukiofees #total-amount-container #total-amount-row {
  float: none !important;
  display: inline-block;
  font-family: var(--font-display);
  font-size: var(--text-lg);
  font-weight: 900;
  color: var(--primary);
}
.mat-booking-page .chzn-container, .mat-booking-page .chosen-container {
  width: 100% !important;
  max-width: 400px !important;
}
.mat-booking-page .chzn-container .chzn-single, .mat-booking-page .chzn-container .chosen-single, .mat-booking-page .chosen-container .chzn-single, .mat-booking-page .chosen-container .chosen-single {
  background: var(--surface-container-lowest) !important;
  border: 1px solid var(--outline-variant) !important;
  border-radius: var(--radius-md) !important;
  color: var(--on-surface) !important;
  box-shadow: none !important;
  height: auto !important;
  padding: var(--space-3) var(--space-4) !important;
  line-height: 1.5 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}
.mat-booking-page .chzn-container .chzn-single span, .mat-booking-page .chzn-container .chosen-single span, .mat-booking-page .chosen-container .chzn-single span, .mat-booking-page .chosen-container .chosen-single span {
  color: var(--on-surface) !important;
  margin-right: var(--space-4) !important;
}
.mat-booking-page .chzn-container .chzn-single div, .mat-booking-page .chzn-container .chosen-single div, .mat-booking-page .chosen-container .chzn-single div, .mat-booking-page .chosen-container .chosen-single div {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
  width: 18px !important;
  height: auto !important;
}
.mat-booking-page .chzn-container .chzn-single div b, .mat-booking-page .chzn-container .chosen-single div b, .mat-booking-page .chosen-container .chzn-single div b, .mat-booking-page .chosen-container .chosen-single div b {
  background-position: 0 7px !important;
}
.mat-booking-page .chzn-container .chzn-drop, .mat-booking-page .chzn-container .chosen-drop, .mat-booking-page .chosen-container .chzn-drop, .mat-booking-page .chosen-container .chosen-drop {
  background: var(--surface-container-lowest) !important;
  border: 1px solid var(--outline-variant) !important;
  border-radius: 0 0 var(--radius-md) var(--radius-md) !important;
  box-shadow: var(--shadow-md) !important;
}
.mat-booking-page .chzn-container .chzn-results, .mat-booking-page .chzn-container .chosen-results, .mat-booking-page .chosen-container .chzn-results, .mat-booking-page .chosen-container .chosen-results {
  color: var(--on-surface) !important;
}
.mat-booking-page .chzn-container .chzn-results li.highlighted, .mat-booking-page .chzn-container .chosen-results li.highlighted, .mat-booking-page .chosen-container .chzn-results li.highlighted, .mat-booking-page .chosen-container .chosen-results li.highlighted {
  background-color: var(--primary) !important;
  color: #fff !important;
}
.mat-booking-page .mat-confirmation-card {
  background-color: var(--surface-container-lowest);
  border: 1px solid var(--outline-variant);
  border-radius: var(--radius-md);
  padding: var(--space-5);
  margin-bottom: var(--space-6);
}
.mat-booking-page .mat-confirmation-card .mat-confirmation-title {
  font-family: var(--font-display);
  font-size: var(--text-base);
  font-weight: 800;
  color: var(--primary);
  margin-top: 0;
  margin-bottom: var(--space-4);
  text-transform: uppercase;
  letter-spacing: 0.02em;
  border-bottom: 1px solid var(--outline-variant);
  padding-bottom: var(--space-2);
}
.mat-booking-page .mat-confirmation-fields {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}
.mat-booking-page .cforms-field-confirmation {
  display: flex;
  flex-direction: column;
  padding-bottom: var(--space-2);
  border-bottom: 1px dashed var(--outline-variant);
}
.mat-booking-page .cforms-field-confirmation:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
@media (min-width: 640px) {
  .mat-booking-page .cforms-field-confirmation {
    flex-direction: row;
    justify-content: space-between;
    align-items: baseline;
    gap: var(--space-4);
  }
}
.mat-booking-page .cforms-field-confirmation .control-label-confirmation {
  font-weight: 700;
  color: var(--outline);
  font-size: var(--text-sm);
  min-width: unset !important;
}
.mat-booking-page .cforms-field-confirmation .mat-confirmation-val {
  font-weight: 600;
  color: var(--on-surface);
  font-size: var(--text-sm);
  text-align: right;
}
.mat-booking-page #fees-listing {
  margin-top: var(--space-6);
}
.mat-booking-page #fees-listing .co-card {
  background-color: var(--surface-container-lowest) !important;
  border: 1px solid var(--outline-variant) !important;
  border-radius: var(--radius-md) !important;
  padding: var(--space-5) !important;
  box-shadow: none !important;
}
.mat-booking-page #fees-listing .co-card::before, .mat-booking-page #fees-listing .co-card::after {
  display: none !important;
}
.mat-booking-page #fees-listing .co-card-body {
  padding: 0 !important;
}
.mat-booking-page #fees-listing .co-card-body::before, .mat-booking-page #fees-listing .co-card-body::after {
  display: none !important;
}
.mat-booking-page #fees-listing #ticket-listing-header {
  font-family: var(--font-display);
  font-weight: 700;
  color: var(--outline);
  font-size: var(--text-xs);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border-bottom: 1px solid var(--outline-variant);
  padding-bottom: var(--space-2);
  margin-bottom: var(--space-3);
}
.mat-booking-page #fees-listing #ticket-listing-header .row {
  margin: 0 !important;
}
.mat-booking-page #fees-listing #ticket-listing-header .row::before, .mat-booking-page #fees-listing #ticket-listing-header .row::after {
  display: none !important;
}
.mat-booking-page #fees-listing #ticket-listing, .mat-booking-page #fees-listing #extra-listing {
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.mat-booking-page #fees-listing #ticket-listing .row, .mat-booking-page #fees-listing #extra-listing .row {
  padding: var(--space-3) 0 !important;
  border-bottom: 1px dashed var(--outline-variant) !important;
  margin: 0 !important;
  display: flex;
  align-items: center;
}
.mat-booking-page #fees-listing #ticket-listing .row:last-child, .mat-booking-page #fees-listing #extra-listing .row:last-child {
  border-bottom: none !important;
}
.mat-booking-page #fees-listing #ticket-listing .row::before, .mat-booking-page #fees-listing #ticket-listing .row::after, .mat-booking-page #fees-listing #extra-listing .row::before, .mat-booking-page #fees-listing #extra-listing .row::after {
  display: none !important;
}
.mat-booking-page #fees-listing #ticket-listing .row .listing-name, .mat-booking-page #fees-listing #extra-listing .row .listing-name {
  font-weight: 700;
}
.mat-booking-page #fees-listing #ticket-listing .row .listing-value, .mat-booking-page #fees-listing #extra-listing .row .listing-value {
  font-family: var(--font-display);
  font-weight: 800;
  color: var(--primary);
}
.mat-booking-page #fees-listing #coupon-listing {
  padding: var(--space-3) 0 !important;
  border-top: 1px dashed var(--outline-variant) !important;
  font-weight: 700;
  color: var(--outline);
  margin: 0 !important;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
.mat-booking-page #fees-listing #coupon-listing::before, .mat-booking-page #fees-listing #coupon-listing::after {
  display: none !important;
}
.mat-booking-page #fees-listing #coupon-listing div:first-child {
  margin-right: var(--space-4);
}
.mat-booking-page #fees-listing #coupon-listing #coupon-value {
  font-family: var(--font-display);
  color: var(--error);
  font-weight: 800;
}
.mat-booking-page #fees-listing #fees-listing-total {
  margin-top: var(--space-4) !important;
  padding-top: var(--space-3) !important;
  border-top: 2px solid var(--primary-container) !important;
  font-family: var(--font-display) !important;
  font-size: var(--text-lg) !important;
  font-weight: 900 !important;
  color: var(--primary) !important;
  margin: 0 !important;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
.mat-booking-page #fees-listing #fees-listing-total::before, .mat-booking-page #fees-listing #fees-listing-total::after {
  display: none !important;
}
.mat-booking-page #fees-listing #fees-listing-total div:first-child {
  margin-right: var(--space-4);
  font-size: var(--text-sm);
  text-transform: uppercase;
  color: var(--outline);
  font-weight: 700;
}
.mat-booking-page .book-terms-agb, .mat-booking-page .cforms-terms, .mat-booking-page .cforms-revoke, .mat-booking-page .cforms-consent {
  background-color: var(--surface-container-lowest);
  border: 1px solid var(--outline-variant);
  border-radius: var(--radius-md);
  padding: var(--space-4);
  margin-bottom: var(--space-4);
}
.mat-booking-page .book-terms-agb .checkbox, .mat-booking-page .cforms-terms .checkbox, .mat-booking-page .cforms-revoke .checkbox, .mat-booking-page .cforms-consent .checkbox {
  margin: 0 !important;
}
.mat-booking-page .book-terms-agb .open_cforms_dialog, .mat-booking-page .cforms-terms .open_cforms_dialog, .mat-booking-page .cforms-revoke .open_cforms_dialog, .mat-booking-page .cforms-consent .open_cforms_dialog {
  color: var(--primary) !important;
  font-weight: 700;
  text-decoration: underline !important;
  cursor: pointer;
}
.mat-booking-page .book-terms-agb .open_cforms_dialog:hover, .mat-booking-page .cforms-terms .open_cforms_dialog:hover, .mat-booking-page .cforms-revoke .open_cforms_dialog:hover, .mat-booking-page .cforms-consent .open_cforms_dialog:hover {
  color: var(--on-primary-container) !important;
}
.mat-booking-page .cforms-captcha-row {
  margin-top: var(--space-6);
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}
.mat-booking-page .cforms-captcha-row label {
  font-weight: 700;
  color: var(--on-surface);
  font-size: var(--text-sm);
}
.mat-booking-page .cforms-captcha-row input {
  max-width: 250px;
}
.mat-booking-page .cforms_navigation {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: var(--space-4) !important;
  margin-top: var(--space-6) !important;
  padding-top: var(--space-4) !important;
  border-top: 1px dashed var(--outline-variant) !important;
  /* Force visibility based on jQuery style attributes to prevent override from other css */
  /* Submit button custom sizes */
}
.mat-booking-page .cforms_navigation::before, .mat-booking-page .cforms_navigation::after {
  display: none !important;
}
.mat-booking-page .cforms_navigation .btn {
  margin: 0 !important;
  padding: var(--space-3) var(--space-6) !important;
  font-size: var(--text-sm) !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 120px !important;
}
.mat-booking-page .cforms_navigation .btn[style*="display: none"] {
  display: none !important;
}
.mat-booking-page .cforms_navigation .btnSubmit {
  padding: var(--space-3) var(--space-8) !important;
  font-size: var(--text-base) !important;
}
.mat-booking-page #error-container.mat-alert {
  margin-bottom: var(--space-6);
}
.mat-booking-page #form-errors {
  margin-top: var(--space-2);
  font-size: var(--text-sm);
  line-height: 1.6;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.mat-booking-page .mat-booking-intro, .mat-booking-page .mat-booking-end {
  font-size: var(--text-base);
  line-height: 1.7;
  color: var(--on-surface-variant);
  margin-bottom: var(--space-6);
}
.mat-booking-page .mat-booking-intro p, .mat-booking-page .mat-booking-end p {
  margin-bottom: var(--space-4);
}
.mat-booking-page .mat-booking-intro p:last-child, .mat-booking-page .mat-booking-end p:last-child {
  margin-bottom: 0;
}
.mat-booking-page .mat-booking-end {
  margin-top: var(--space-6);
  margin-bottom: 0;
}
.mat-booking-page .mat-booking-sidebar {
  position: relative;
}
@media (min-width: 1024px) {
  .mat-booking-page .mat-booking-sidebar {
    position: sticky;
    top: calc(80px + var(--space-6));
  }
}
.mat-booking-page .mat-sidebar-card {
  background-color: var(--surface-container-low);
  border: 1px solid var(--outline-variant);
  border-radius: var(--radius-lg);
  padding: var(--space-6);
  box-shadow: var(--shadow-sm);
  margin-bottom: var(--space-6);
  overflow: hidden;
}
.mat-booking-page .mat-sidebar-title {
  font-family: var(--font-display);
  font-size: var(--text-lg);
  font-weight: 800;
  color: var(--primary);
  margin: 0 0 var(--space-5) 0;
  border-bottom: 2px solid var(--primary-container);
  padding-bottom: var(--space-2);
  text-transform: uppercase;
  letter-spacing: 0.02em;
}
.mat-booking-page .mat-info-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}
.mat-booking-page .mat-info-item {
  display: flex;
  gap: var(--space-4);
  align-items: flex-start;
}
.mat-booking-page .mat-info-icon {
  color: var(--primary);
  font-size: 1.4rem;
  margin-top: 2px;
}
.mat-booking-page .mat-info-text {
  display: flex;
  flex-direction: column;
}
.mat-booking-page .mat-info-label {
  font-size: var(--text-xs);
  text-transform: uppercase;
  font-weight: 700;
  color: var(--outline);
  letter-spacing: 0.05em;
}
.mat-booking-page .mat-info-val {
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--on-surface);
  line-height: 1.45;
}
.mat-booking-page .mat-info-val.price-val {
  font-family: var(--font-display);
  font-size: var(--text-base);
  font-weight: 800;
  color: var(--primary);
}
.mat-booking-page .mat-info-val.price-val .mat_event_fees {
  font-family: var(--font-display) !important;
  font-size: var(--text-lg) !important;
  font-weight: 900 !important;
  color: var(--primary) !important;
  padding-left: 0 !important;
}
.mat-booking-page .mat-info-val.price-val .mat_event_fees i {
  display: none !important;
}
.mat-booking-page .mat-location-link {
  color: var(--primary) !important;
  text-decoration: none !important;
  font-weight: 700;
}
.mat-booking-page .mat-location-link:hover {
  text-decoration: underline !important;
}
.mat-booking-page .mat-price-update-animate {
  animation: pricePop var(--duration-normal) var(--ease-out-expo) both;
  display: inline-block;
}
.mat-booking-page #coupon-group .input-group {
  display: flex !important;
  gap: var(--space-3) !important;
  width: 100%;
  align-items: stretch !important;
}
.mat-booking-page #coupon-group .input-group::before, .mat-booking-page #coupon-group .input-group::after {
  display: none !important;
}
.mat-booking-page #coupon-group .input-group #coupon_code {
  flex: 1 !important;
  border-radius: var(--radius-md) !important;
  margin: 0 !important;
  float: none !important;
  display: block !important;
  width: auto !important;
}
.mat-booking-page #coupon-group .input-group .input-group-btn {
  display: block !important;
  width: auto !important;
  float: none !important;
  position: relative !important;
}
.mat-booking-page #coupon-group .input-group .input-group-btn #btn-coupon-apply {
  border-radius: var(--radius-md) !important;
  margin: 0 !important;
  height: 100% !important;
  white-space: nowrap !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: var(--space-3) var(--space-5) !important;
}
@keyframes pricePop {
  0% {
    transform: scale(1);
    filter: brightness(1);
  }
  50% {
    transform: scale(1.08);
    color: var(--primary-container);
    filter: brightness(1.2);
  }
  100% {
    transform: scale(1);
    filter: brightness(1);
  }
}
/* Star Particles Animation styles */
.mat-star-particle-container {
  position: absolute;
  pointer-events: none;
  z-index: 99999;
  width: 0;
  height: 0;
}
.mat-star-particle {
  position: absolute;
  display: inline-block;
  font-family: Arial, sans-serif;
  font-size: var(--size, 16px);
  color: var(--color, var(--primary-container));
  pointer-events: none;
  animation: starBurst var(--duration, 800ms) var(--ease-out-expo) var(--delay, 0ms) both;
}
@keyframes starBurst {
  0% {
    transform: translate(0, 0) rotate(0deg) scale(0);
    opacity: 0;
    filter: drop-shadow(0 0 0px var(--color));
  }
  15% {
    opacity: 1;
    transform: translate(0, 0) rotate(0deg) scale(1.3);
    filter: drop-shadow(0 0 4px var(--color));
  }
  100% {
    transform: translate(var(--dx), var(--dy)) rotate(var(--rotation)) scale(0);
    opacity: 0;
    filter: drop-shadow(0 0 0px var(--color));
  }
}
/* ============================================
   USER PAGES (com_users) — Style Overrides
   V Jornadas de Infectología Rosario 2026
   ============================================ */
/* ── Container Layout ── */
.com-users-registration, .com-users-login, .com-users-remind, .com-users-reset, .com-users-profile, .com-users {
  font-family: var(--font-body);
  color: var(--on-surface);
  max-width: 100%;
  width: 100%;
  margin-bottom: var(--space-12);
  /* ── Headings ── */
  /* ── Form Controls & Fields ── */
  /* Inputs standard styling */
  /* Password toggle input group layout */
  /* Helper text / password requirements */
  /* ── Buttons ── */
  /* ── Registration Notice Banner ── */
  /* ── User Page Link Lists (e.g. ¿Olvidó su contraseña?) ── */
}
.com-users-registration fieldset, .com-users-login fieldset, .com-users-remind fieldset, .com-users-reset fieldset, .com-users-profile fieldset, .com-users fieldset {
  border: none;
  padding: 0;
  margin: 0;
}
.com-users-registration h1, .com-users-registration .page-header h1, .com-users-login h1, .com-users-login .page-header h1, .com-users-remind h1, .com-users-remind .page-header h1, .com-users-reset h1, .com-users-reset .page-header h1, .com-users-profile h1, .com-users-profile .page-header h1, .com-users h1, .com-users .page-header h1 {
  font-family: var(--font-display);
  font-size: var(--text-3xl) !important;
  font-weight: 900 !important;
  color: var(--on-surface) !important;
  letter-spacing: -0.03em;
  margin-top: 0 !important;
  margin-bottom: var(--space-2) !important;
  line-height: 1.1;
}
.com-users-registration h2, .com-users-registration .page-header h2, .com-users-login h2, .com-users-login .page-header h2, .com-users-remind h2, .com-users-remind .page-header h2, .com-users-reset h2, .com-users-reset .page-header h2, .com-users-profile h2, .com-users-profile .page-header h2, .com-users h2, .com-users .page-header h2 {
  font-family: var(--font-display);
  font-size: var(--text-base) !important;
  color: var(--on-surface-variant) !important;
  font-weight: 600 !important;
  margin-top: 0 !important;
  margin-bottom: var(--space-8) !important;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.com-users-registration .control-group, .com-users-registration .mb-3, .com-users-login .control-group, .com-users-login .mb-3, .com-users-remind .control-group, .com-users-remind .mb-3, .com-users-reset .control-group, .com-users-reset .mb-3, .com-users-profile .control-group, .com-users-profile .mb-3, .com-users .control-group, .com-users .mb-3 {
  margin-bottom: var(--space-5);
}
.com-users-registration .control-label, .com-users-registration label, .com-users-login .control-label, .com-users-login label, .com-users-remind .control-label, .com-users-remind label, .com-users-reset .control-label, .com-users-reset label, .com-users-profile .control-label, .com-users-profile label, .com-users .control-label, .com-users label {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: var(--text-sm);
  color: var(--on-surface);
  margin-bottom: var(--space-2);
  display: inline-block;
}
.com-users-registration input[type="text"], .com-users-registration input[type="email"], .com-users-registration input[type="password"], .com-users-registration input[type="tel"], .com-users-registration input[type="number"], .com-users-registration select, .com-users-registration textarea, .com-users-registration .form-control, .com-users-login input[type="text"], .com-users-login input[type="email"], .com-users-login input[type="password"], .com-users-login input[type="tel"], .com-users-login input[type="number"], .com-users-login select, .com-users-login textarea, .com-users-login .form-control, .com-users-remind input[type="text"], .com-users-remind input[type="email"], .com-users-remind input[type="password"], .com-users-remind input[type="tel"], .com-users-remind input[type="number"], .com-users-remind select, .com-users-remind textarea, .com-users-remind .form-control, .com-users-reset input[type="text"], .com-users-reset input[type="email"], .com-users-reset input[type="password"], .com-users-reset input[type="tel"], .com-users-reset input[type="number"], .com-users-reset select, .com-users-reset textarea, .com-users-reset .form-control, .com-users-profile input[type="text"], .com-users-profile input[type="email"], .com-users-profile input[type="password"], .com-users-profile input[type="tel"], .com-users-profile input[type="number"], .com-users-profile select, .com-users-profile textarea, .com-users-profile .form-control, .com-users input[type="text"], .com-users input[type="email"], .com-users input[type="password"], .com-users input[type="tel"], .com-users input[type="number"], .com-users select, .com-users textarea, .com-users .form-control {
  background-color: var(--surface-container-lowest);
  color: var(--on-surface);
  border: 1px solid var(--outline-variant);
  border-radius: var(--radius-md) !important;
  padding: var(--space-3) var(--space-4);
  font-size: var(--text-base);
  width: 100%;
  transition: border-color var(--duration-fast), box-shadow var(--duration-fast);
  outline: none;
  box-shadow: none;
}
.com-users-registration input[type="text"]:focus, .com-users-registration input[type="email"]:focus, .com-users-registration input[type="password"]:focus, .com-users-registration input[type="tel"]:focus, .com-users-registration input[type="number"]:focus, .com-users-registration select:focus, .com-users-registration textarea:focus, .com-users-registration .form-control:focus, .com-users-login input[type="text"]:focus, .com-users-login input[type="email"]:focus, .com-users-login input[type="password"]:focus, .com-users-login input[type="tel"]:focus, .com-users-login input[type="number"]:focus, .com-users-login select:focus, .com-users-login textarea:focus, .com-users-login .form-control:focus, .com-users-remind input[type="text"]:focus, .com-users-remind input[type="email"]:focus, .com-users-remind input[type="password"]:focus, .com-users-remind input[type="tel"]:focus, .com-users-remind input[type="number"]:focus, .com-users-remind select:focus, .com-users-remind textarea:focus, .com-users-remind .form-control:focus, .com-users-reset input[type="text"]:focus, .com-users-reset input[type="email"]:focus, .com-users-reset input[type="password"]:focus, .com-users-reset input[type="tel"]:focus, .com-users-reset input[type="number"]:focus, .com-users-reset select:focus, .com-users-reset textarea:focus, .com-users-reset .form-control:focus, .com-users-profile input[type="text"]:focus, .com-users-profile input[type="email"]:focus, .com-users-profile input[type="password"]:focus, .com-users-profile input[type="tel"]:focus, .com-users-profile input[type="number"]:focus, .com-users-profile select:focus, .com-users-profile textarea:focus, .com-users-profile .form-control:focus, .com-users input[type="text"]:focus, .com-users input[type="email"]:focus, .com-users input[type="password"]:focus, .com-users input[type="tel"]:focus, .com-users input[type="number"]:focus, .com-users select:focus, .com-users textarea:focus, .com-users .form-control:focus {
  border-color: var(--primary) !important;
  box-shadow: 0 0 0 3px oklch(75% 0.18 165/0.2) !important;
}
.com-users-registration input[type="text"]::placeholder, .com-users-registration input[type="email"]::placeholder, .com-users-registration input[type="password"]::placeholder, .com-users-registration input[type="tel"]::placeholder, .com-users-registration input[type="number"]::placeholder, .com-users-registration select::placeholder, .com-users-registration textarea::placeholder, .com-users-registration .form-control::placeholder, .com-users-login input[type="text"]::placeholder, .com-users-login input[type="email"]::placeholder, .com-users-login input[type="password"]::placeholder, .com-users-login input[type="tel"]::placeholder, .com-users-login input[type="number"]::placeholder, .com-users-login select::placeholder, .com-users-login textarea::placeholder, .com-users-login .form-control::placeholder, .com-users-remind input[type="text"]::placeholder, .com-users-remind input[type="email"]::placeholder, .com-users-remind input[type="password"]::placeholder, .com-users-remind input[type="tel"]::placeholder, .com-users-remind input[type="number"]::placeholder, .com-users-remind select::placeholder, .com-users-remind textarea::placeholder, .com-users-remind .form-control::placeholder, .com-users-reset input[type="text"]::placeholder, .com-users-reset input[type="email"]::placeholder, .com-users-reset input[type="password"]::placeholder, .com-users-reset input[type="tel"]::placeholder, .com-users-reset input[type="number"]::placeholder, .com-users-reset select::placeholder, .com-users-reset textarea::placeholder, .com-users-reset .form-control::placeholder, .com-users-profile input[type="text"]::placeholder, .com-users-profile input[type="email"]::placeholder, .com-users-profile input[type="password"]::placeholder, .com-users-profile input[type="tel"]::placeholder, .com-users-profile input[type="number"]::placeholder, .com-users-profile select::placeholder, .com-users-profile textarea::placeholder, .com-users-profile .form-control::placeholder, .com-users input[type="text"]::placeholder, .com-users input[type="email"]::placeholder, .com-users input[type="password"]::placeholder, .com-users input[type="tel"]::placeholder, .com-users input[type="number"]::placeholder, .com-users select::placeholder, .com-users textarea::placeholder, .com-users .form-control::placeholder {
  color: var(--outline);
  opacity: 0.8;
}
.com-users-registration .input-group, .com-users-login .input-group, .com-users-remind .input-group, .com-users-reset .input-group, .com-users-profile .input-group, .com-users .input-group {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  width: 100%;
  position: relative;
}
.com-users-registration .input-group input[type="password"], .com-users-registration .input-group input[type="text"], .com-users-registration .input-group .form-control, .com-users-login .input-group input[type="password"], .com-users-login .input-group input[type="text"], .com-users-login .input-group .form-control, .com-users-remind .input-group input[type="password"], .com-users-remind .input-group input[type="text"], .com-users-remind .input-group .form-control, .com-users-reset .input-group input[type="password"], .com-users-reset .input-group input[type="text"], .com-users-reset .input-group .form-control, .com-users-profile .input-group input[type="password"], .com-users-profile .input-group input[type="text"], .com-users-profile .input-group .form-control, .com-users .input-group input[type="password"], .com-users .input-group input[type="text"], .com-users .input-group .form-control {
  flex: 1 1 auto !important;
  width: 1% !important;
  min-width: 0 !important;
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
  margin-bottom: 0 !important;
}
.com-users-registration .input-group .btn, .com-users-registration .input-group button, .com-users-registration .input-group .input-password-toggle, .com-users-login .input-group .btn, .com-users-login .input-group button, .com-users-login .input-group .input-password-toggle, .com-users-remind .input-group .btn, .com-users-remind .input-group button, .com-users-remind .input-group .input-password-toggle, .com-users-reset .input-group .btn, .com-users-reset .input-group button, .com-users-reset .input-group .input-password-toggle, .com-users-profile .input-group .btn, .com-users-profile .input-group button, .com-users-profile .input-group .input-password-toggle, .com-users .input-group .btn, .com-users .input-group button, .com-users .input-group .input-password-toggle {
  flex: 0 0 auto !important;
  border: 1px solid var(--outline-variant) !important;
  border-left: none !important;
  background-color: var(--surface-container-low) !important;
  color: var(--on-surface) !important;
  padding: 0 var(--space-4) !important;
  border-top-left-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
  border-top-right-radius: var(--radius-md) !important;
  border-bottom-right-radius: var(--radius-md) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer;
  height: auto !important;
  transition: background-color var(--duration-fast);
}
.com-users-registration .input-group .btn:hover, .com-users-registration .input-group button:hover, .com-users-registration .input-group .input-password-toggle:hover, .com-users-login .input-group .btn:hover, .com-users-login .input-group button:hover, .com-users-login .input-group .input-password-toggle:hover, .com-users-remind .input-group .btn:hover, .com-users-remind .input-group button:hover, .com-users-remind .input-group .input-password-toggle:hover, .com-users-reset .input-group .btn:hover, .com-users-reset .input-group button:hover, .com-users-reset .input-group .input-password-toggle:hover, .com-users-profile .input-group .btn:hover, .com-users-profile .input-group button:hover, .com-users-profile .input-group .input-password-toggle:hover, .com-users .input-group .btn:hover, .com-users .input-group button:hover, .com-users .input-group .input-password-toggle:hover {
  background-color: var(--surface-container-high) !important;
}
.com-users-registration .help-block, .com-users-registration .form-text, .com-users-registration .desc, .com-users-registration small, .com-users-login .help-block, .com-users-login .form-text, .com-users-login .desc, .com-users-login small, .com-users-remind .help-block, .com-users-remind .form-text, .com-users-remind .desc, .com-users-remind small, .com-users-reset .help-block, .com-users-reset .form-text, .com-users-reset .desc, .com-users-reset small, .com-users-profile .help-block, .com-users-profile .form-text, .com-users-profile .desc, .com-users-profile small, .com-users .help-block, .com-users .form-text, .com-users .desc, .com-users small {
  font-size: var(--text-xs);
  color: var(--outline);
  margin-top: var(--space-1);
  display: block;
  line-height: 1.4;
}
.com-users-registration .btn-primary, .com-users-registration .button, .com-users-registration button[type="submit"], .com-users-registration input[type="submit"], .com-users-login .btn-primary, .com-users-login .button, .com-users-login button[type="submit"], .com-users-login input[type="submit"], .com-users-remind .btn-primary, .com-users-remind .button, .com-users-remind button[type="submit"], .com-users-remind input[type="submit"], .com-users-reset .btn-primary, .com-users-reset .button, .com-users-reset button[type="submit"], .com-users-reset input[type="submit"], .com-users-profile .btn-primary, .com-users-profile .button, .com-users-profile button[type="submit"], .com-users-profile input[type="submit"], .com-users .btn-primary, .com-users .button, .com-users button[type="submit"], .com-users input[type="submit"] {
  font-family: var(--font-display);
  font-weight: 700;
  border-radius: var(--radius-md) !important;
  padding: var(--space-3) var(--space-6);
  font-size: var(--text-base);
  background-color: var(--primary-container) !important;
  color: var(--on-primary-container) !important;
  border: none !important;
  box-shadow: var(--shadow-glow);
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  transition: transform var(--duration-fast) var(--ease-out-quart), box-shadow var(--duration-normal) var(--ease-out-quart), background var(--duration-fast);
}
.com-users-registration .btn-primary:hover, .com-users-registration .btn-primary:focus, .com-users-registration .button:hover, .com-users-registration .button:focus, .com-users-registration button[type="submit"]:hover, .com-users-registration button[type="submit"]:focus, .com-users-registration input[type="submit"]:hover, .com-users-registration input[type="submit"]:focus, .com-users-login .btn-primary:hover, .com-users-login .btn-primary:focus, .com-users-login .button:hover, .com-users-login .button:focus, .com-users-login button[type="submit"]:hover, .com-users-login button[type="submit"]:focus, .com-users-login input[type="submit"]:hover, .com-users-login input[type="submit"]:focus, .com-users-remind .btn-primary:hover, .com-users-remind .btn-primary:focus, .com-users-remind .button:hover, .com-users-remind .button:focus, .com-users-remind button[type="submit"]:hover, .com-users-remind button[type="submit"]:focus, .com-users-remind input[type="submit"]:hover, .com-users-remind input[type="submit"]:focus, .com-users-reset .btn-primary:hover, .com-users-reset .btn-primary:focus, .com-users-reset .button:hover, .com-users-reset .button:focus, .com-users-reset button[type="submit"]:hover, .com-users-reset button[type="submit"]:focus, .com-users-reset input[type="submit"]:hover, .com-users-reset input[type="submit"]:focus, .com-users-profile .btn-primary:hover, .com-users-profile .btn-primary:focus, .com-users-profile .button:hover, .com-users-profile .button:focus, .com-users-profile button[type="submit"]:hover, .com-users-profile button[type="submit"]:focus, .com-users-profile input[type="submit"]:hover, .com-users-profile input[type="submit"]:focus, .com-users .btn-primary:hover, .com-users .btn-primary:focus, .com-users .button:hover, .com-users .button:focus, .com-users button[type="submit"]:hover, .com-users button[type="submit"]:focus, .com-users input[type="submit"]:hover, .com-users input[type="submit"]:focus {
  background-color: var(--primary) !important;
  color: #fff !important;
  transform: scale(1.03);
  box-shadow: var(--shadow-glow-strong);
}
.com-users-registration .btn-primary:active, .com-users-registration .button:active, .com-users-registration button[type="submit"]:active, .com-users-registration input[type="submit"]:active, .com-users-login .btn-primary:active, .com-users-login .button:active, .com-users-login button[type="submit"]:active, .com-users-login input[type="submit"]:active, .com-users-remind .btn-primary:active, .com-users-remind .button:active, .com-users-remind button[type="submit"]:active, .com-users-remind input[type="submit"]:active, .com-users-reset .btn-primary:active, .com-users-reset .button:active, .com-users-reset button[type="submit"]:active, .com-users-reset input[type="submit"]:active, .com-users-profile .btn-primary:active, .com-users-profile .button:active, .com-users-profile button[type="submit"]:active, .com-users-profile input[type="submit"]:active, .com-users .btn-primary:active, .com-users .button:active, .com-users button[type="submit"]:active, .com-users input[type="submit"]:active {
  transform: scale(0.97);
}
.com-users-registration .registration-notice, .com-users-login .registration-notice, .com-users-remind .registration-notice, .com-users-reset .registration-notice, .com-users-profile .registration-notice, .com-users .registration-notice {
  display: flex;
  gap: var(--space-4);
  align-items: flex-start;
  background-color: oklch(from var(--primary) 0.97 0.03 165);
  border: 1px solid oklch(from var(--primary) 0.88 0.06 165);
  border-left: 4px solid var(--primary);
  border-radius: var(--radius-lg);
  padding: var(--space-4) var(--space-5);
  margin-bottom: var(--space-6);
  box-shadow: var(--shadow-sm);
}
.com-users-registration .registration-notice .registration-notice__icon, .com-users-login .registration-notice .registration-notice__icon, .com-users-remind .registration-notice .registration-notice__icon, .com-users-reset .registration-notice .registration-notice__icon, .com-users-profile .registration-notice .registration-notice__icon, .com-users .registration-notice .registration-notice__icon {
  color: var(--primary);
  font-size: 1.6rem;
  flex-shrink: 0;
  margin-top: 2px;
}
.com-users-registration .registration-notice .registration-notice__content, .com-users-login .registration-notice .registration-notice__content, .com-users-remind .registration-notice .registration-notice__content, .com-users-reset .registration-notice .registration-notice__content, .com-users-profile .registration-notice .registration-notice__content, .com-users .registration-notice .registration-notice__content {
  flex: 1;
}
.com-users-registration .registration-notice .registration-notice__title, .com-users-login .registration-notice .registration-notice__title, .com-users-remind .registration-notice .registration-notice__title, .com-users-reset .registration-notice .registration-notice__title, .com-users-profile .registration-notice .registration-notice__title, .com-users .registration-notice .registration-notice__title {
  font-family: var(--font-display);
  font-size: var(--text-base) !important;
  font-weight: 800 !important;
  color: var(--primary) !important;
  margin: 0 0 var(--space-1) 0 !important;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}
.com-users-registration .registration-notice .registration-notice__text, .com-users-login .registration-notice .registration-notice__text, .com-users-remind .registration-notice .registration-notice__text, .com-users-reset .registration-notice .registration-notice__text, .com-users-profile .registration-notice .registration-notice__text, .com-users .registration-notice .registration-notice__text {
  font-size: var(--text-sm);
  color: var(--on-surface-variant);
  line-height: 1.5;
  margin: 0 !important;
}
.com-users-registration .com-users-login__options, .com-users-registration .com-users-registration__options, .com-users-registration .com-users-reset__options, .com-users-registration .com-users-remind__options, .com-users-registration ul, .com-users-login .com-users-login__options, .com-users-login .com-users-registration__options, .com-users-login .com-users-reset__options, .com-users-login .com-users-remind__options, .com-users-login ul, .com-users-remind .com-users-login__options, .com-users-remind .com-users-registration__options, .com-users-remind .com-users-reset__options, .com-users-remind .com-users-remind__options, .com-users-remind ul, .com-users-reset .com-users-login__options, .com-users-reset .com-users-registration__options, .com-users-reset .com-users-reset__options, .com-users-reset .com-users-remind__options, .com-users-reset ul, .com-users-profile .com-users-login__options, .com-users-profile .com-users-registration__options, .com-users-profile .com-users-reset__options, .com-users-profile .com-users-remind__options, .com-users-profile ul, .com-users .com-users-login__options, .com-users .com-users-registration__options, .com-users .com-users-reset__options, .com-users .com-users-remind__options, .com-users ul {
  list-style: none !important;
  padding: 0 !important;
  margin: var(--space-6) 0 0 0 !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: var(--space-2) !important;
  border: none !important;
}
@media (min-width: 640px) {
  .com-users-registration .com-users-login__options, .com-users-registration .com-users-registration__options, .com-users-registration .com-users-reset__options, .com-users-registration .com-users-remind__options, .com-users-registration ul, .com-users-login .com-users-login__options, .com-users-login .com-users-registration__options, .com-users-login .com-users-reset__options, .com-users-login .com-users-remind__options, .com-users-login ul, .com-users-remind .com-users-login__options, .com-users-remind .com-users-registration__options, .com-users-remind .com-users-reset__options, .com-users-remind .com-users-remind__options, .com-users-remind ul, .com-users-reset .com-users-login__options, .com-users-reset .com-users-registration__options, .com-users-reset .com-users-reset__options, .com-users-reset .com-users-remind__options, .com-users-reset ul, .com-users-profile .com-users-login__options, .com-users-profile .com-users-registration__options, .com-users-profile .com-users-reset__options, .com-users-profile .com-users-remind__options, .com-users-profile ul, .com-users .com-users-login__options, .com-users .com-users-registration__options, .com-users .com-users-reset__options, .com-users .com-users-remind__options, .com-users ul {
    grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr)) !important;
  }
}
.com-users-registration .com-users-login__options li, .com-users-registration .com-users-registration__options li, .com-users-registration .com-users-reset__options li, .com-users-registration .com-users-remind__options li, .com-users-registration ul li, .com-users-login .com-users-login__options li, .com-users-login .com-users-registration__options li, .com-users-login .com-users-reset__options li, .com-users-login .com-users-remind__options li, .com-users-login ul li, .com-users-remind .com-users-login__options li, .com-users-remind .com-users-registration__options li, .com-users-remind .com-users-reset__options li, .com-users-remind .com-users-remind__options li, .com-users-remind ul li, .com-users-reset .com-users-login__options li, .com-users-reset .com-users-registration__options li, .com-users-reset .com-users-reset__options li, .com-users-reset .com-users-remind__options li, .com-users-reset ul li, .com-users-profile .com-users-login__options li, .com-users-profile .com-users-registration__options li, .com-users-profile .com-users-reset__options li, .com-users-profile .com-users-remind__options li, .com-users-profile ul li, .com-users .com-users-login__options li, .com-users .com-users-registration__options li, .com-users .com-users-reset__options li, .com-users .com-users-remind__options li, .com-users ul li {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}
.com-users-registration .com-users-login__options a, .com-users-registration .com-users-login__options li a, .com-users-registration .com-users-registration__options a, .com-users-registration .com-users-registration__options li a, .com-users-registration .com-users-reset__options a, .com-users-registration .com-users-reset__options li a, .com-users-registration .com-users-remind__options a, .com-users-registration .com-users-remind__options li a, .com-users-registration ul a, .com-users-registration ul li a, .com-users-login .com-users-login__options a, .com-users-login .com-users-login__options li a, .com-users-login .com-users-registration__options a, .com-users-login .com-users-registration__options li a, .com-users-login .com-users-reset__options a, .com-users-login .com-users-reset__options li a, .com-users-login .com-users-remind__options a, .com-users-login .com-users-remind__options li a, .com-users-login ul a, .com-users-login ul li a, .com-users-remind .com-users-login__options a, .com-users-remind .com-users-login__options li a, .com-users-remind .com-users-registration__options a, .com-users-remind .com-users-registration__options li a, .com-users-remind .com-users-reset__options a, .com-users-remind .com-users-reset__options li a, .com-users-remind .com-users-remind__options a, .com-users-remind .com-users-remind__options li a, .com-users-remind ul a, .com-users-remind ul li a, .com-users-reset .com-users-login__options a, .com-users-reset .com-users-login__options li a, .com-users-reset .com-users-registration__options a, .com-users-reset .com-users-registration__options li a, .com-users-reset .com-users-reset__options a, .com-users-reset .com-users-reset__options li a, .com-users-reset .com-users-remind__options a, .com-users-reset .com-users-remind__options li a, .com-users-reset ul a, .com-users-reset ul li a, .com-users-profile .com-users-login__options a, .com-users-profile .com-users-login__options li a, .com-users-profile .com-users-registration__options a, .com-users-profile .com-users-registration__options li a, .com-users-profile .com-users-reset__options a, .com-users-profile .com-users-reset__options li a, .com-users-profile .com-users-remind__options a, .com-users-profile .com-users-remind__options li a, .com-users-profile ul a, .com-users-profile ul li a, .com-users .com-users-login__options a, .com-users .com-users-login__options li a, .com-users .com-users-registration__options a, .com-users .com-users-registration__options li a, .com-users .com-users-reset__options a, .com-users .com-users-reset__options li a, .com-users .com-users-remind__options a, .com-users .com-users-remind__options li a, .com-users ul a, .com-users ul li a {
  display: flex !important;
  align-items: center !important;
  gap: var(--space-2) !important;
  padding: var(--space-3) var(--space-4) !important;
  background-color: var(--surface-container-low) !important;
  color: var(--on-surface) !important;
  border: 1px solid var(--outline-variant) !important;
  border-radius: var(--radius-md) !important;
  font-family: var(--font-display) !important;
  font-weight: 700 !important;
  font-size: var(--text-sm) !important;
  text-decoration: none !important;
  transition: background-color var(--duration-fast), border-color var(--duration-fast), transform var(--duration-fast), color var(--duration-fast) !important;
  height: 100% !important;
}
.com-users-registration .com-users-login__options a:hover, .com-users-registration .com-users-login__options a:focus, .com-users-registration .com-users-login__options li a:hover, .com-users-registration .com-users-login__options li a:focus, .com-users-registration .com-users-registration__options a:hover, .com-users-registration .com-users-registration__options a:focus, .com-users-registration .com-users-registration__options li a:hover, .com-users-registration .com-users-registration__options li a:focus, .com-users-registration .com-users-reset__options a:hover, .com-users-registration .com-users-reset__options a:focus, .com-users-registration .com-users-reset__options li a:hover, .com-users-registration .com-users-reset__options li a:focus, .com-users-registration .com-users-remind__options a:hover, .com-users-registration .com-users-remind__options a:focus, .com-users-registration .com-users-remind__options li a:hover, .com-users-registration .com-users-remind__options li a:focus, .com-users-registration ul a:hover, .com-users-registration ul a:focus, .com-users-registration ul li a:hover, .com-users-registration ul li a:focus, .com-users-login .com-users-login__options a:hover, .com-users-login .com-users-login__options a:focus, .com-users-login .com-users-login__options li a:hover, .com-users-login .com-users-login__options li a:focus, .com-users-login .com-users-registration__options a:hover, .com-users-login .com-users-registration__options a:focus, .com-users-login .com-users-registration__options li a:hover, .com-users-login .com-users-registration__options li a:focus, .com-users-login .com-users-reset__options a:hover, .com-users-login .com-users-reset__options a:focus, .com-users-login .com-users-reset__options li a:hover, .com-users-login .com-users-reset__options li a:focus, .com-users-login .com-users-remind__options a:hover, .com-users-login .com-users-remind__options a:focus, .com-users-login .com-users-remind__options li a:hover, .com-users-login .com-users-remind__options li a:focus, .com-users-login ul a:hover, .com-users-login ul a:focus, .com-users-login ul li a:hover, .com-users-login ul li a:focus, .com-users-remind .com-users-login__options a:hover, .com-users-remind .com-users-login__options a:focus, .com-users-remind .com-users-login__options li a:hover, .com-users-remind .com-users-login__options li a:focus, .com-users-remind .com-users-registration__options a:hover, .com-users-remind .com-users-registration__options a:focus, .com-users-remind .com-users-registration__options li a:hover, .com-users-remind .com-users-registration__options li a:focus, .com-users-remind .com-users-reset__options a:hover, .com-users-remind .com-users-reset__options a:focus, .com-users-remind .com-users-reset__options li a:hover, .com-users-remind .com-users-reset__options li a:focus, .com-users-remind .com-users-remind__options a:hover, .com-users-remind .com-users-remind__options a:focus, .com-users-remind .com-users-remind__options li a:hover, .com-users-remind .com-users-remind__options li a:focus, .com-users-remind ul a:hover, .com-users-remind ul a:focus, .com-users-remind ul li a:hover, .com-users-remind ul li a:focus, .com-users-reset .com-users-login__options a:hover, .com-users-reset .com-users-login__options a:focus, .com-users-reset .com-users-login__options li a:hover, .com-users-reset .com-users-login__options li a:focus, .com-users-reset .com-users-registration__options a:hover, .com-users-reset .com-users-registration__options a:focus, .com-users-reset .com-users-registration__options li a:hover, .com-users-reset .com-users-registration__options li a:focus, .com-users-reset .com-users-reset__options a:hover, .com-users-reset .com-users-reset__options a:focus, .com-users-reset .com-users-reset__options li a:hover, .com-users-reset .com-users-reset__options li a:focus, .com-users-reset .com-users-remind__options a:hover, .com-users-reset .com-users-remind__options a:focus, .com-users-reset .com-users-remind__options li a:hover, .com-users-reset .com-users-remind__options li a:focus, .com-users-reset ul a:hover, .com-users-reset ul a:focus, .com-users-reset ul li a:hover, .com-users-reset ul li a:focus, .com-users-profile .com-users-login__options a:hover, .com-users-profile .com-users-login__options a:focus, .com-users-profile .com-users-login__options li a:hover, .com-users-profile .com-users-login__options li a:focus, .com-users-profile .com-users-registration__options a:hover, .com-users-profile .com-users-registration__options a:focus, .com-users-profile .com-users-registration__options li a:hover, .com-users-profile .com-users-registration__options li a:focus, .com-users-profile .com-users-reset__options a:hover, .com-users-profile .com-users-reset__options a:focus, .com-users-profile .com-users-reset__options li a:hover, .com-users-profile .com-users-reset__options li a:focus, .com-users-profile .com-users-remind__options a:hover, .com-users-profile .com-users-remind__options a:focus, .com-users-profile .com-users-remind__options li a:hover, .com-users-profile .com-users-remind__options li a:focus, .com-users-profile ul a:hover, .com-users-profile ul a:focus, .com-users-profile ul li a:hover, .com-users-profile ul li a:focus, .com-users .com-users-login__options a:hover, .com-users .com-users-login__options a:focus, .com-users .com-users-login__options li a:hover, .com-users .com-users-login__options li a:focus, .com-users .com-users-registration__options a:hover, .com-users .com-users-registration__options a:focus, .com-users .com-users-registration__options li a:hover, .com-users .com-users-registration__options li a:focus, .com-users .com-users-reset__options a:hover, .com-users .com-users-reset__options a:focus, .com-users .com-users-reset__options li a:hover, .com-users .com-users-reset__options li a:focus, .com-users .com-users-remind__options a:hover, .com-users .com-users-remind__options a:focus, .com-users .com-users-remind__options li a:hover, .com-users .com-users-remind__options li a:focus, .com-users ul a:hover, .com-users ul a:focus, .com-users ul li a:hover, .com-users ul li a:focus {
  background-color: var(--surface-container-high) !important;
  border-color: var(--primary) !important;
  color: var(--primary) !important;
  transform: translateY(-1px) !important;
}
.com-users-registration .com-users-login__options a::before, .com-users-registration .com-users-login__options li a::before, .com-users-registration .com-users-registration__options a::before, .com-users-registration .com-users-registration__options li a::before, .com-users-registration .com-users-reset__options a::before, .com-users-registration .com-users-reset__options li a::before, .com-users-registration .com-users-remind__options a::before, .com-users-registration .com-users-remind__options li a::before, .com-users-registration ul a::before, .com-users-registration ul li a::before, .com-users-login .com-users-login__options a::before, .com-users-login .com-users-login__options li a::before, .com-users-login .com-users-registration__options a::before, .com-users-login .com-users-registration__options li a::before, .com-users-login .com-users-reset__options a::before, .com-users-login .com-users-reset__options li a::before, .com-users-login .com-users-remind__options a::before, .com-users-login .com-users-remind__options li a::before, .com-users-login ul a::before, .com-users-login ul li a::before, .com-users-remind .com-users-login__options a::before, .com-users-remind .com-users-login__options li a::before, .com-users-remind .com-users-registration__options a::before, .com-users-remind .com-users-registration__options li a::before, .com-users-remind .com-users-reset__options a::before, .com-users-remind .com-users-reset__options li a::before, .com-users-remind .com-users-remind__options a::before, .com-users-remind .com-users-remind__options li a::before, .com-users-remind ul a::before, .com-users-remind ul li a::before, .com-users-reset .com-users-login__options a::before, .com-users-reset .com-users-login__options li a::before, .com-users-reset .com-users-registration__options a::before, .com-users-reset .com-users-registration__options li a::before, .com-users-reset .com-users-reset__options a::before, .com-users-reset .com-users-reset__options li a::before, .com-users-reset .com-users-remind__options a::before, .com-users-reset .com-users-remind__options li a::before, .com-users-reset ul a::before, .com-users-reset ul li a::before, .com-users-profile .com-users-login__options a::before, .com-users-profile .com-users-login__options li a::before, .com-users-profile .com-users-registration__options a::before, .com-users-profile .com-users-registration__options li a::before, .com-users-profile .com-users-reset__options a::before, .com-users-profile .com-users-reset__options li a::before, .com-users-profile .com-users-remind__options a::before, .com-users-profile .com-users-remind__options li a::before, .com-users-profile ul a::before, .com-users-profile ul li a::before, .com-users .com-users-login__options a::before, .com-users .com-users-login__options li a::before, .com-users .com-users-registration__options a::before, .com-users .com-users-registration__options li a::before, .com-users .com-users-reset__options a::before, .com-users .com-users-reset__options li a::before, .com-users .com-users-remind__options a::before, .com-users .com-users-remind__options li a::before, .com-users ul a::before, .com-users ul li a::before {
  content: "" !important;
  font-family: "Material Symbols Outlined" !important;
  font-size: 1.1rem !important;
  font-weight: normal !important;
  color: var(--primary) !important;
}
/* ── Sidebar Right (Aside) Modules ── */
#g-container-main .aside, #g-container-main aside, #g-container-main .sidebar, #g-container-main [class*="sidebar"], #g-main .aside, #g-main aside, #g-main .sidebar, #g-main [class*="sidebar"] {
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
}
#g-container-main .aside .moduletable, #g-container-main .aside .module, #g-container-main aside .moduletable, #g-container-main aside .module, #g-container-main .sidebar .moduletable, #g-container-main .sidebar .module, #g-container-main [class*="sidebar"] .moduletable, #g-container-main [class*="sidebar"] .module, #g-main .aside .moduletable, #g-main .aside .module, #g-main aside .moduletable, #g-main aside .module, #g-main .sidebar .moduletable, #g-main .sidebar .module, #g-main [class*="sidebar"] .moduletable, #g-main [class*="sidebar"] .module {
  background-color: var(--surface-container-low);
  border: 1px solid var(--outline-variant);
  border-radius: var(--radius-lg);
  padding: var(--space-6);
  box-shadow: var(--shadow-sm);
  /* Style inline text links that are not buttons */
  /* Clean up empty containers / paragraphs that add blank spaces */
  /* Secondary/Dark button styling for aside actions (e.g. Iniciar sesión link) */
}
#g-container-main .aside .moduletable h1, #g-container-main .aside .moduletable h2, #g-container-main .aside .moduletable h3, #g-container-main .aside .moduletable h4, #g-container-main .aside .moduletable .g-title, #g-container-main .aside .moduletable .module-title, #g-container-main .aside .module h1, #g-container-main .aside .module h2, #g-container-main .aside .module h3, #g-container-main .aside .module h4, #g-container-main .aside .module .g-title, #g-container-main .aside .module .module-title, #g-container-main aside .moduletable h1, #g-container-main aside .moduletable h2, #g-container-main aside .moduletable h3, #g-container-main aside .moduletable h4, #g-container-main aside .moduletable .g-title, #g-container-main aside .moduletable .module-title, #g-container-main aside .module h1, #g-container-main aside .module h2, #g-container-main aside .module h3, #g-container-main aside .module h4, #g-container-main aside .module .g-title, #g-container-main aside .module .module-title, #g-container-main .sidebar .moduletable h1, #g-container-main .sidebar .moduletable h2, #g-container-main .sidebar .moduletable h3, #g-container-main .sidebar .moduletable h4, #g-container-main .sidebar .moduletable .g-title, #g-container-main .sidebar .moduletable .module-title, #g-container-main .sidebar .module h1, #g-container-main .sidebar .module h2, #g-container-main .sidebar .module h3, #g-container-main .sidebar .module h4, #g-container-main .sidebar .module .g-title, #g-container-main .sidebar .module .module-title, #g-container-main [class*="sidebar"] .moduletable h1, #g-container-main [class*="sidebar"] .moduletable h2, #g-container-main [class*="sidebar"] .moduletable h3, #g-container-main [class*="sidebar"] .moduletable h4, #g-container-main [class*="sidebar"] .moduletable .g-title, #g-container-main [class*="sidebar"] .moduletable .module-title, #g-container-main [class*="sidebar"] .module h1, #g-container-main [class*="sidebar"] .module h2, #g-container-main [class*="sidebar"] .module h3, #g-container-main [class*="sidebar"] .module h4, #g-container-main [class*="sidebar"] .module .g-title, #g-container-main [class*="sidebar"] .module .module-title, #g-main .aside .moduletable h1, #g-main .aside .moduletable h2, #g-main .aside .moduletable h3, #g-main .aside .moduletable h4, #g-main .aside .moduletable .g-title, #g-main .aside .moduletable .module-title, #g-main .aside .module h1, #g-main .aside .module h2, #g-main .aside .module h3, #g-main .aside .module h4, #g-main .aside .module .g-title, #g-main .aside .module .module-title, #g-main aside .moduletable h1, #g-main aside .moduletable h2, #g-main aside .moduletable h3, #g-main aside .moduletable h4, #g-main aside .moduletable .g-title, #g-main aside .moduletable .module-title, #g-main aside .module h1, #g-main aside .module h2, #g-main aside .module h3, #g-main aside .module h4, #g-main aside .module .g-title, #g-main aside .module .module-title, #g-main .sidebar .moduletable h1, #g-main .sidebar .moduletable h2, #g-main .sidebar .moduletable h3, #g-main .sidebar .moduletable h4, #g-main .sidebar .moduletable .g-title, #g-main .sidebar .moduletable .module-title, #g-main .sidebar .module h1, #g-main .sidebar .module h2, #g-main .sidebar .module h3, #g-main .sidebar .module h4, #g-main .sidebar .module .g-title, #g-main .sidebar .module .module-title, #g-main [class*="sidebar"] .moduletable h1, #g-main [class*="sidebar"] .moduletable h2, #g-main [class*="sidebar"] .moduletable h3, #g-main [class*="sidebar"] .moduletable h4, #g-main [class*="sidebar"] .moduletable .g-title, #g-main [class*="sidebar"] .moduletable .module-title, #g-main [class*="sidebar"] .module h1, #g-main [class*="sidebar"] .module h2, #g-main [class*="sidebar"] .module h3, #g-main [class*="sidebar"] .module h4, #g-main [class*="sidebar"] .module .g-title, #g-main [class*="sidebar"] .module .module-title {
  font-family: var(--font-display) !important;
  font-weight: 800 !important;
  font-size: var(--text-lg) !important;
  color: var(--on-surface) !important;
  margin-top: 0 !important;
  margin-bottom: var(--space-4) !important;
  text-transform: uppercase;
  letter-spacing: -0.01em;
  border-bottom: 2px solid var(--primary-container) !important;
  padding-bottom: var(--space-2) !important;
  display: block;
}
#g-container-main .aside .moduletable p, #g-container-main .aside .module p, #g-container-main aside .moduletable p, #g-container-main aside .module p, #g-container-main .sidebar .moduletable p, #g-container-main .sidebar .module p, #g-container-main [class*="sidebar"] .moduletable p, #g-container-main [class*="sidebar"] .module p, #g-main .aside .moduletable p, #g-main .aside .module p, #g-main aside .moduletable p, #g-main aside .module p, #g-main .sidebar .moduletable p, #g-main .sidebar .module p, #g-main [class*="sidebar"] .moduletable p, #g-main [class*="sidebar"] .module p {
  font-size: var(--text-sm);
  color: var(--on-surface-variant);
  line-height: 1.6;
  margin-top: 0 !important;
  margin-bottom: var(--space-4) !important;
}
#g-container-main .aside .moduletable a:not(.btn):not(.button):not([class*="btn"]):not(.list-group-item), #g-container-main .aside .module a:not(.btn):not(.button):not([class*="btn"]):not(.list-group-item), #g-container-main aside .moduletable a:not(.btn):not(.button):not([class*="btn"]):not(.list-group-item), #g-container-main aside .module a:not(.btn):not(.button):not([class*="btn"]):not(.list-group-item), #g-container-main .sidebar .moduletable a:not(.btn):not(.button):not([class*="btn"]):not(.list-group-item), #g-container-main .sidebar .module a:not(.btn):not(.button):not([class*="btn"]):not(.list-group-item), #g-container-main [class*="sidebar"] .moduletable a:not(.btn):not(.button):not([class*="btn"]):not(.list-group-item), #g-container-main [class*="sidebar"] .module a:not(.btn):not(.button):not([class*="btn"]):not(.list-group-item), #g-main .aside .moduletable a:not(.btn):not(.button):not([class*="btn"]):not(.list-group-item), #g-main .aside .module a:not(.btn):not(.button):not([class*="btn"]):not(.list-group-item), #g-main aside .moduletable a:not(.btn):not(.button):not([class*="btn"]):not(.list-group-item), #g-main aside .module a:not(.btn):not(.button):not([class*="btn"]):not(.list-group-item), #g-main .sidebar .moduletable a:not(.btn):not(.button):not([class*="btn"]):not(.list-group-item), #g-main .sidebar .module a:not(.btn):not(.button):not([class*="btn"]):not(.list-group-item), #g-main [class*="sidebar"] .moduletable a:not(.btn):not(.button):not([class*="btn"]):not(.list-group-item), #g-main [class*="sidebar"] .module a:not(.btn):not(.button):not([class*="btn"]):not(.list-group-item) {
  color: var(--primary) !important;
  text-decoration: underline !important;
  font-weight: 600 !important;
  transition: color var(--duration-fast);
}
#g-container-main .aside .moduletable a:not(.btn):not(.button):not([class*="btn"]):not(.list-group-item):hover, #g-container-main .aside .moduletable a:not(.btn):not(.button):not([class*="btn"]):not(.list-group-item):focus, #g-container-main .aside .module a:not(.btn):not(.button):not([class*="btn"]):not(.list-group-item):hover, #g-container-main .aside .module a:not(.btn):not(.button):not([class*="btn"]):not(.list-group-item):focus, #g-container-main aside .moduletable a:not(.btn):not(.button):not([class*="btn"]):not(.list-group-item):hover, #g-container-main aside .moduletable a:not(.btn):not(.button):not([class*="btn"]):not(.list-group-item):focus, #g-container-main aside .module a:not(.btn):not(.button):not([class*="btn"]):not(.list-group-item):hover, #g-container-main aside .module a:not(.btn):not(.button):not([class*="btn"]):not(.list-group-item):focus, #g-container-main .sidebar .moduletable a:not(.btn):not(.button):not([class*="btn"]):not(.list-group-item):hover, #g-container-main .sidebar .moduletable a:not(.btn):not(.button):not([class*="btn"]):not(.list-group-item):focus, #g-container-main .sidebar .module a:not(.btn):not(.button):not([class*="btn"]):not(.list-group-item):hover, #g-container-main .sidebar .module a:not(.btn):not(.button):not([class*="btn"]):not(.list-group-item):focus, #g-container-main [class*="sidebar"] .moduletable a:not(.btn):not(.button):not([class*="btn"]):not(.list-group-item):hover, #g-container-main [class*="sidebar"] .moduletable a:not(.btn):not(.button):not([class*="btn"]):not(.list-group-item):focus, #g-container-main [class*="sidebar"] .module a:not(.btn):not(.button):not([class*="btn"]):not(.list-group-item):hover, #g-container-main [class*="sidebar"] .module a:not(.btn):not(.button):not([class*="btn"]):not(.list-group-item):focus, #g-main .aside .moduletable a:not(.btn):not(.button):not([class*="btn"]):not(.list-group-item):hover, #g-main .aside .moduletable a:not(.btn):not(.button):not([class*="btn"]):not(.list-group-item):focus, #g-main .aside .module a:not(.btn):not(.button):not([class*="btn"]):not(.list-group-item):hover, #g-main .aside .module a:not(.btn):not(.button):not([class*="btn"]):not(.list-group-item):focus, #g-main aside .moduletable a:not(.btn):not(.button):not([class*="btn"]):not(.list-group-item):hover, #g-main aside .moduletable a:not(.btn):not(.button):not([class*="btn"]):not(.list-group-item):focus, #g-main aside .module a:not(.btn):not(.button):not([class*="btn"]):not(.list-group-item):hover, #g-main aside .module a:not(.btn):not(.button):not([class*="btn"]):not(.list-group-item):focus, #g-main .sidebar .moduletable a:not(.btn):not(.button):not([class*="btn"]):not(.list-group-item):hover, #g-main .sidebar .moduletable a:not(.btn):not(.button):not([class*="btn"]):not(.list-group-item):focus, #g-main .sidebar .module a:not(.btn):not(.button):not([class*="btn"]):not(.list-group-item):hover, #g-main .sidebar .module a:not(.btn):not(.button):not([class*="btn"]):not(.list-group-item):focus, #g-main [class*="sidebar"] .moduletable a:not(.btn):not(.button):not([class*="btn"]):not(.list-group-item):hover, #g-main [class*="sidebar"] .moduletable a:not(.btn):not(.button):not([class*="btn"]):not(.list-group-item):focus, #g-main [class*="sidebar"] .module a:not(.btn):not(.button):not([class*="btn"]):not(.list-group-item):hover, #g-main [class*="sidebar"] .module a:not(.btn):not(.button):not([class*="btn"]):not(.list-group-item):focus {
  color: var(--on-primary-container) !important;
}
#g-container-main .aside .moduletable p:empty, #g-container-main .aside .moduletable div:empty, #g-container-main .aside .moduletable p:has(br:only-child), #g-container-main .aside .module p:empty, #g-container-main .aside .module div:empty, #g-container-main .aside .module p:has(br:only-child), #g-container-main aside .moduletable p:empty, #g-container-main aside .moduletable div:empty, #g-container-main aside .moduletable p:has(br:only-child), #g-container-main aside .module p:empty, #g-container-main aside .module div:empty, #g-container-main aside .module p:has(br:only-child), #g-container-main .sidebar .moduletable p:empty, #g-container-main .sidebar .moduletable div:empty, #g-container-main .sidebar .moduletable p:has(br:only-child), #g-container-main .sidebar .module p:empty, #g-container-main .sidebar .module div:empty, #g-container-main .sidebar .module p:has(br:only-child), #g-container-main [class*="sidebar"] .moduletable p:empty, #g-container-main [class*="sidebar"] .moduletable div:empty, #g-container-main [class*="sidebar"] .moduletable p:has(br:only-child), #g-container-main [class*="sidebar"] .module p:empty, #g-container-main [class*="sidebar"] .module div:empty, #g-container-main [class*="sidebar"] .module p:has(br:only-child), #g-main .aside .moduletable p:empty, #g-main .aside .moduletable div:empty, #g-main .aside .moduletable p:has(br:only-child), #g-main .aside .module p:empty, #g-main .aside .module div:empty, #g-main .aside .module p:has(br:only-child), #g-main aside .moduletable p:empty, #g-main aside .moduletable div:empty, #g-main aside .moduletable p:has(br:only-child), #g-main aside .module p:empty, #g-main aside .module div:empty, #g-main aside .module p:has(br:only-child), #g-main .sidebar .moduletable p:empty, #g-main .sidebar .moduletable div:empty, #g-main .sidebar .moduletable p:has(br:only-child), #g-main .sidebar .module p:empty, #g-main .sidebar .module div:empty, #g-main .sidebar .module p:has(br:only-child), #g-main [class*="sidebar"] .moduletable p:empty, #g-main [class*="sidebar"] .moduletable div:empty, #g-main [class*="sidebar"] .moduletable p:has(br:only-child), #g-main [class*="sidebar"] .module p:empty, #g-main [class*="sidebar"] .module div:empty, #g-main [class*="sidebar"] .module p:has(br:only-child) {
  display: none !important;
}
#g-container-main .aside .moduletable .btn:not(.btn--primary), #g-container-main .aside .moduletable a.btn:not(.btn--primary), #g-container-main .aside .moduletable .button:not(.btn--primary), #g-container-main .aside .moduletable a.button:not(.btn--primary), #g-container-main .aside .moduletable #g-page-surround .button:not(.btn--primary), #g-container-main .aside .moduletable #g-page-surround a.button:not(.btn--primary), #g-container-main .aside .moduletable button, #g-container-main .aside .moduletable input[type="submit"], #g-container-main .aside .module .btn:not(.btn--primary), #g-container-main .aside .module a.btn:not(.btn--primary), #g-container-main .aside .module .button:not(.btn--primary), #g-container-main .aside .module a.button:not(.btn--primary), #g-container-main .aside .module #g-page-surround .button:not(.btn--primary), #g-container-main .aside .module #g-page-surround a.button:not(.btn--primary), #g-container-main .aside .module button, #g-container-main .aside .module input[type="submit"], #g-container-main aside .moduletable .btn:not(.btn--primary), #g-container-main aside .moduletable a.btn:not(.btn--primary), #g-container-main aside .moduletable .button:not(.btn--primary), #g-container-main aside .moduletable a.button:not(.btn--primary), #g-container-main aside .moduletable #g-page-surround .button:not(.btn--primary), #g-container-main aside .moduletable #g-page-surround a.button:not(.btn--primary), #g-container-main aside .moduletable button, #g-container-main aside .moduletable input[type="submit"], #g-container-main aside .module .btn:not(.btn--primary), #g-container-main aside .module a.btn:not(.btn--primary), #g-container-main aside .module .button:not(.btn--primary), #g-container-main aside .module a.button:not(.btn--primary), #g-container-main aside .module #g-page-surround .button:not(.btn--primary), #g-container-main aside .module #g-page-surround a.button:not(.btn--primary), #g-container-main aside .module button, #g-container-main aside .module input[type="submit"], #g-container-main .sidebar .moduletable .btn:not(.btn--primary), #g-container-main .sidebar .moduletable a.btn:not(.btn--primary), #g-container-main .sidebar .moduletable .button:not(.btn--primary), #g-container-main .sidebar .moduletable a.button:not(.btn--primary), #g-container-main .sidebar .moduletable #g-page-surround .button:not(.btn--primary), #g-container-main .sidebar .moduletable #g-page-surround a.button:not(.btn--primary), #g-container-main .sidebar .moduletable button, #g-container-main .sidebar .moduletable input[type="submit"], #g-container-main .sidebar .module .btn:not(.btn--primary), #g-container-main .sidebar .module a.btn:not(.btn--primary), #g-container-main .sidebar .module .button:not(.btn--primary), #g-container-main .sidebar .module a.button:not(.btn--primary), #g-container-main .sidebar .module #g-page-surround .button:not(.btn--primary), #g-container-main .sidebar .module #g-page-surround a.button:not(.btn--primary), #g-container-main .sidebar .module button, #g-container-main .sidebar .module input[type="submit"], #g-container-main [class*="sidebar"] .moduletable .btn:not(.btn--primary), #g-container-main [class*="sidebar"] .moduletable a.btn:not(.btn--primary), #g-container-main [class*="sidebar"] .moduletable .button:not(.btn--primary), #g-container-main [class*="sidebar"] .moduletable a.button:not(.btn--primary), #g-container-main [class*="sidebar"] .moduletable #g-page-surround .button:not(.btn--primary), #g-container-main [class*="sidebar"] .moduletable #g-page-surround a.button:not(.btn--primary), #g-container-main [class*="sidebar"] .moduletable button, #g-container-main [class*="sidebar"] .moduletable input[type="submit"], #g-container-main [class*="sidebar"] .module .btn:not(.btn--primary), #g-container-main [class*="sidebar"] .module a.btn:not(.btn--primary), #g-container-main [class*="sidebar"] .module .button:not(.btn--primary), #g-container-main [class*="sidebar"] .module a.button:not(.btn--primary), #g-container-main [class*="sidebar"] .module #g-page-surround .button:not(.btn--primary), #g-container-main [class*="sidebar"] .module #g-page-surround a.button:not(.btn--primary), #g-container-main [class*="sidebar"] .module button, #g-container-main [class*="sidebar"] .module input[type="submit"], #g-main .aside .moduletable .btn:not(.btn--primary), #g-main .aside .moduletable a.btn:not(.btn--primary), #g-main .aside .moduletable .button:not(.btn--primary), #g-main .aside .moduletable a.button:not(.btn--primary), #g-main .aside .moduletable #g-page-surround .button:not(.btn--primary), #g-main .aside .moduletable #g-page-surround a.button:not(.btn--primary), #g-main .aside .moduletable button, #g-main .aside .moduletable input[type="submit"], #g-main .aside .module .btn:not(.btn--primary), #g-main .aside .module a.btn:not(.btn--primary), #g-main .aside .module .button:not(.btn--primary), #g-main .aside .module a.button:not(.btn--primary), #g-main .aside .module #g-page-surround .button:not(.btn--primary), #g-main .aside .module #g-page-surround a.button:not(.btn--primary), #g-main .aside .module button, #g-main .aside .module input[type="submit"], #g-main aside .moduletable .btn:not(.btn--primary), #g-main aside .moduletable a.btn:not(.btn--primary), #g-main aside .moduletable .button:not(.btn--primary), #g-main aside .moduletable a.button:not(.btn--primary), #g-main aside .moduletable #g-page-surround .button:not(.btn--primary), #g-main aside .moduletable #g-page-surround a.button:not(.btn--primary), #g-main aside .moduletable button, #g-main aside .moduletable input[type="submit"], #g-main aside .module .btn:not(.btn--primary), #g-main aside .module a.btn:not(.btn--primary), #g-main aside .module .button:not(.btn--primary), #g-main aside .module a.button:not(.btn--primary), #g-main aside .module #g-page-surround .button:not(.btn--primary), #g-main aside .module #g-page-surround a.button:not(.btn--primary), #g-main aside .module button, #g-main aside .module input[type="submit"], #g-main .sidebar .moduletable .btn:not(.btn--primary), #g-main .sidebar .moduletable a.btn:not(.btn--primary), #g-main .sidebar .moduletable .button:not(.btn--primary), #g-main .sidebar .moduletable a.button:not(.btn--primary), #g-main .sidebar .moduletable #g-page-surround .button:not(.btn--primary), #g-main .sidebar .moduletable #g-page-surround a.button:not(.btn--primary), #g-main .sidebar .moduletable button, #g-main .sidebar .moduletable input[type="submit"], #g-main .sidebar .module .btn:not(.btn--primary), #g-main .sidebar .module a.btn:not(.btn--primary), #g-main .sidebar .module .button:not(.btn--primary), #g-main .sidebar .module a.button:not(.btn--primary), #g-main .sidebar .module #g-page-surround .button:not(.btn--primary), #g-main .sidebar .module #g-page-surround a.button:not(.btn--primary), #g-main .sidebar .module button, #g-main .sidebar .module input[type="submit"], #g-main [class*="sidebar"] .moduletable .btn:not(.btn--primary), #g-main [class*="sidebar"] .moduletable a.btn:not(.btn--primary), #g-main [class*="sidebar"] .moduletable .button:not(.btn--primary), #g-main [class*="sidebar"] .moduletable a.button:not(.btn--primary), #g-main [class*="sidebar"] .moduletable #g-page-surround .button:not(.btn--primary), #g-main [class*="sidebar"] .moduletable #g-page-surround a.button:not(.btn--primary), #g-main [class*="sidebar"] .moduletable button, #g-main [class*="sidebar"] .moduletable input[type="submit"], #g-main [class*="sidebar"] .module .btn:not(.btn--primary), #g-main [class*="sidebar"] .module a.btn:not(.btn--primary), #g-main [class*="sidebar"] .module .button:not(.btn--primary), #g-main [class*="sidebar"] .module a.button:not(.btn--primary), #g-main [class*="sidebar"] .module #g-page-surround .button:not(.btn--primary), #g-main [class*="sidebar"] .module #g-page-surround a.button:not(.btn--primary), #g-main [class*="sidebar"] .module button, #g-main [class*="sidebar"] .module input[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: var(--dark-card) !important;
  color: #fff !important;
  border: 1px solid oklch(100% 0 0/0.1) !important;
  padding: var(--space-3) var(--space-6) !important;
  border-radius: var(--radius-md) !important;
  font-family: var(--font-display) !important;
  font-weight: 700 !important;
  font-size: var(--text-sm) !important;
  box-shadow: none !important;
  transition: background-color var(--duration-fast), transform var(--duration-fast) var(--ease-out-quart);
  text-decoration: none !important;
}
#g-container-main .aside .moduletable .btn:not(.btn--primary):hover, #g-container-main .aside .moduletable a.btn:not(.btn--primary):hover, #g-container-main .aside .moduletable .button:not(.btn--primary):hover, #g-container-main .aside .moduletable a.button:not(.btn--primary):hover, #g-container-main .aside .moduletable #g-page-surround .button:not(.btn--primary):hover, #g-container-main .aside .moduletable #g-page-surround a.button:not(.btn--primary):hover, #g-container-main .aside .moduletable button:hover, #g-container-main .aside .moduletable input[type="submit"]:hover, #g-container-main .aside .module .btn:not(.btn--primary):hover, #g-container-main .aside .module a.btn:not(.btn--primary):hover, #g-container-main .aside .module .button:not(.btn--primary):hover, #g-container-main .aside .module a.button:not(.btn--primary):hover, #g-container-main .aside .module #g-page-surround .button:not(.btn--primary):hover, #g-container-main .aside .module #g-page-surround a.button:not(.btn--primary):hover, #g-container-main .aside .module button:hover, #g-container-main .aside .module input[type="submit"]:hover, #g-container-main aside .moduletable .btn:not(.btn--primary):hover, #g-container-main aside .moduletable a.btn:not(.btn--primary):hover, #g-container-main aside .moduletable .button:not(.btn--primary):hover, #g-container-main aside .moduletable a.button:not(.btn--primary):hover, #g-container-main aside .moduletable #g-page-surround .button:not(.btn--primary):hover, #g-container-main aside .moduletable #g-page-surround a.button:not(.btn--primary):hover, #g-container-main aside .moduletable button:hover, #g-container-main aside .moduletable input[type="submit"]:hover, #g-container-main aside .module .btn:not(.btn--primary):hover, #g-container-main aside .module a.btn:not(.btn--primary):hover, #g-container-main aside .module .button:not(.btn--primary):hover, #g-container-main aside .module a.button:not(.btn--primary):hover, #g-container-main aside .module #g-page-surround .button:not(.btn--primary):hover, #g-container-main aside .module #g-page-surround a.button:not(.btn--primary):hover, #g-container-main aside .module button:hover, #g-container-main aside .module input[type="submit"]:hover, #g-container-main .sidebar .moduletable .btn:not(.btn--primary):hover, #g-container-main .sidebar .moduletable a.btn:not(.btn--primary):hover, #g-container-main .sidebar .moduletable .button:not(.btn--primary):hover, #g-container-main .sidebar .moduletable a.button:not(.btn--primary):hover, #g-container-main .sidebar .moduletable #g-page-surround .button:not(.btn--primary):hover, #g-container-main .sidebar .moduletable #g-page-surround a.button:not(.btn--primary):hover, #g-container-main .sidebar .moduletable button:hover, #g-container-main .sidebar .moduletable input[type="submit"]:hover, #g-container-main .sidebar .module .btn:not(.btn--primary):hover, #g-container-main .sidebar .module a.btn:not(.btn--primary):hover, #g-container-main .sidebar .module .button:not(.btn--primary):hover, #g-container-main .sidebar .module a.button:not(.btn--primary):hover, #g-container-main .sidebar .module #g-page-surround .button:not(.btn--primary):hover, #g-container-main .sidebar .module #g-page-surround a.button:not(.btn--primary):hover, #g-container-main .sidebar .module button:hover, #g-container-main .sidebar .module input[type="submit"]:hover, #g-container-main [class*="sidebar"] .moduletable .btn:not(.btn--primary):hover, #g-container-main [class*="sidebar"] .moduletable a.btn:not(.btn--primary):hover, #g-container-main [class*="sidebar"] .moduletable .button:not(.btn--primary):hover, #g-container-main [class*="sidebar"] .moduletable a.button:not(.btn--primary):hover, #g-container-main [class*="sidebar"] .moduletable #g-page-surround .button:not(.btn--primary):hover, #g-container-main [class*="sidebar"] .moduletable #g-page-surround a.button:not(.btn--primary):hover, #g-container-main [class*="sidebar"] .moduletable button:hover, #g-container-main [class*="sidebar"] .moduletable input[type="submit"]:hover, #g-container-main [class*="sidebar"] .module .btn:not(.btn--primary):hover, #g-container-main [class*="sidebar"] .module a.btn:not(.btn--primary):hover, #g-container-main [class*="sidebar"] .module .button:not(.btn--primary):hover, #g-container-main [class*="sidebar"] .module a.button:not(.btn--primary):hover, #g-container-main [class*="sidebar"] .module #g-page-surround .button:not(.btn--primary):hover, #g-container-main [class*="sidebar"] .module #g-page-surround a.button:not(.btn--primary):hover, #g-container-main [class*="sidebar"] .module button:hover, #g-container-main [class*="sidebar"] .module input[type="submit"]:hover, #g-main .aside .moduletable .btn:not(.btn--primary):hover, #g-main .aside .moduletable a.btn:not(.btn--primary):hover, #g-main .aside .moduletable .button:not(.btn--primary):hover, #g-main .aside .moduletable a.button:not(.btn--primary):hover, #g-main .aside .moduletable #g-page-surround .button:not(.btn--primary):hover, #g-main .aside .moduletable #g-page-surround a.button:not(.btn--primary):hover, #g-main .aside .moduletable button:hover, #g-main .aside .moduletable input[type="submit"]:hover, #g-main .aside .module .btn:not(.btn--primary):hover, #g-main .aside .module a.btn:not(.btn--primary):hover, #g-main .aside .module .button:not(.btn--primary):hover, #g-main .aside .module a.button:not(.btn--primary):hover, #g-main .aside .module #g-page-surround .button:not(.btn--primary):hover, #g-main .aside .module #g-page-surround a.button:not(.btn--primary):hover, #g-main .aside .module button:hover, #g-main .aside .module input[type="submit"]:hover, #g-main aside .moduletable .btn:not(.btn--primary):hover, #g-main aside .moduletable a.btn:not(.btn--primary):hover, #g-main aside .moduletable .button:not(.btn--primary):hover, #g-main aside .moduletable a.button:not(.btn--primary):hover, #g-main aside .moduletable #g-page-surround .button:not(.btn--primary):hover, #g-main aside .moduletable #g-page-surround a.button:not(.btn--primary):hover, #g-main aside .moduletable button:hover, #g-main aside .moduletable input[type="submit"]:hover, #g-main aside .module .btn:not(.btn--primary):hover, #g-main aside .module a.btn:not(.btn--primary):hover, #g-main aside .module .button:not(.btn--primary):hover, #g-main aside .module a.button:not(.btn--primary):hover, #g-main aside .module #g-page-surround .button:not(.btn--primary):hover, #g-main aside .module #g-page-surround a.button:not(.btn--primary):hover, #g-main aside .module button:hover, #g-main aside .module input[type="submit"]:hover, #g-main .sidebar .moduletable .btn:not(.btn--primary):hover, #g-main .sidebar .moduletable a.btn:not(.btn--primary):hover, #g-main .sidebar .moduletable .button:not(.btn--primary):hover, #g-main .sidebar .moduletable a.button:not(.btn--primary):hover, #g-main .sidebar .moduletable #g-page-surround .button:not(.btn--primary):hover, #g-main .sidebar .moduletable #g-page-surround a.button:not(.btn--primary):hover, #g-main .sidebar .moduletable button:hover, #g-main .sidebar .moduletable input[type="submit"]:hover, #g-main .sidebar .module .btn:not(.btn--primary):hover, #g-main .sidebar .module a.btn:not(.btn--primary):hover, #g-main .sidebar .module .button:not(.btn--primary):hover, #g-main .sidebar .module a.button:not(.btn--primary):hover, #g-main .sidebar .module #g-page-surround .button:not(.btn--primary):hover, #g-main .sidebar .module #g-page-surround a.button:not(.btn--primary):hover, #g-main .sidebar .module button:hover, #g-main .sidebar .module input[type="submit"]:hover, #g-main [class*="sidebar"] .moduletable .btn:not(.btn--primary):hover, #g-main [class*="sidebar"] .moduletable a.btn:not(.btn--primary):hover, #g-main [class*="sidebar"] .moduletable .button:not(.btn--primary):hover, #g-main [class*="sidebar"] .moduletable a.button:not(.btn--primary):hover, #g-main [class*="sidebar"] .moduletable #g-page-surround .button:not(.btn--primary):hover, #g-main [class*="sidebar"] .moduletable #g-page-surround a.button:not(.btn--primary):hover, #g-main [class*="sidebar"] .moduletable button:hover, #g-main [class*="sidebar"] .moduletable input[type="submit"]:hover, #g-main [class*="sidebar"] .module .btn:not(.btn--primary):hover, #g-main [class*="sidebar"] .module a.btn:not(.btn--primary):hover, #g-main [class*="sidebar"] .module .button:not(.btn--primary):hover, #g-main [class*="sidebar"] .module a.button:not(.btn--primary):hover, #g-main [class*="sidebar"] .module #g-page-surround .button:not(.btn--primary):hover, #g-main [class*="sidebar"] .module #g-page-surround a.button:not(.btn--primary):hover, #g-main [class*="sidebar"] .module button:hover, #g-main [class*="sidebar"] .module input[type="submit"]:hover {
  background-color: oklch(20% 0.02 250) !important;
  transform: scale(1.02) !important;
  box-shadow: none !important;
  color: #fff !important;
}
#g-container-main .aside .moduletable .btn:not(.btn--primary):active, #g-container-main .aside .moduletable a.btn:not(.btn--primary):active, #g-container-main .aside .moduletable .button:not(.btn--primary):active, #g-container-main .aside .moduletable a.button:not(.btn--primary):active, #g-container-main .aside .moduletable #g-page-surround .button:not(.btn--primary):active, #g-container-main .aside .moduletable #g-page-surround a.button:not(.btn--primary):active, #g-container-main .aside .moduletable button:active, #g-container-main .aside .moduletable input[type="submit"]:active, #g-container-main .aside .module .btn:not(.btn--primary):active, #g-container-main .aside .module a.btn:not(.btn--primary):active, #g-container-main .aside .module .button:not(.btn--primary):active, #g-container-main .aside .module a.button:not(.btn--primary):active, #g-container-main .aside .module #g-page-surround .button:not(.btn--primary):active, #g-container-main .aside .module #g-page-surround a.button:not(.btn--primary):active, #g-container-main .aside .module button:active, #g-container-main .aside .module input[type="submit"]:active, #g-container-main aside .moduletable .btn:not(.btn--primary):active, #g-container-main aside .moduletable a.btn:not(.btn--primary):active, #g-container-main aside .moduletable .button:not(.btn--primary):active, #g-container-main aside .moduletable a.button:not(.btn--primary):active, #g-container-main aside .moduletable #g-page-surround .button:not(.btn--primary):active, #g-container-main aside .moduletable #g-page-surround a.button:not(.btn--primary):active, #g-container-main aside .moduletable button:active, #g-container-main aside .moduletable input[type="submit"]:active, #g-container-main aside .module .btn:not(.btn--primary):active, #g-container-main aside .module a.btn:not(.btn--primary):active, #g-container-main aside .module .button:not(.btn--primary):active, #g-container-main aside .module a.button:not(.btn--primary):active, #g-container-main aside .module #g-page-surround .button:not(.btn--primary):active, #g-container-main aside .module #g-page-surround a.button:not(.btn--primary):active, #g-container-main aside .module button:active, #g-container-main aside .module input[type="submit"]:active, #g-container-main .sidebar .moduletable .btn:not(.btn--primary):active, #g-container-main .sidebar .moduletable a.btn:not(.btn--primary):active, #g-container-main .sidebar .moduletable .button:not(.btn--primary):active, #g-container-main .sidebar .moduletable a.button:not(.btn--primary):active, #g-container-main .sidebar .moduletable #g-page-surround .button:not(.btn--primary):active, #g-container-main .sidebar .moduletable #g-page-surround a.button:not(.btn--primary):active, #g-container-main .sidebar .moduletable button:active, #g-container-main .sidebar .moduletable input[type="submit"]:active, #g-container-main .sidebar .module .btn:not(.btn--primary):active, #g-container-main .sidebar .module a.btn:not(.btn--primary):active, #g-container-main .sidebar .module .button:not(.btn--primary):active, #g-container-main .sidebar .module a.button:not(.btn--primary):active, #g-container-main .sidebar .module #g-page-surround .button:not(.btn--primary):active, #g-container-main .sidebar .module #g-page-surround a.button:not(.btn--primary):active, #g-container-main .sidebar .module button:active, #g-container-main .sidebar .module input[type="submit"]:active, #g-container-main [class*="sidebar"] .moduletable .btn:not(.btn--primary):active, #g-container-main [class*="sidebar"] .moduletable a.btn:not(.btn--primary):active, #g-container-main [class*="sidebar"] .moduletable .button:not(.btn--primary):active, #g-container-main [class*="sidebar"] .moduletable a.button:not(.btn--primary):active, #g-container-main [class*="sidebar"] .moduletable #g-page-surround .button:not(.btn--primary):active, #g-container-main [class*="sidebar"] .moduletable #g-page-surround a.button:not(.btn--primary):active, #g-container-main [class*="sidebar"] .moduletable button:active, #g-container-main [class*="sidebar"] .moduletable input[type="submit"]:active, #g-container-main [class*="sidebar"] .module .btn:not(.btn--primary):active, #g-container-main [class*="sidebar"] .module a.btn:not(.btn--primary):active, #g-container-main [class*="sidebar"] .module .button:not(.btn--primary):active, #g-container-main [class*="sidebar"] .module a.button:not(.btn--primary):active, #g-container-main [class*="sidebar"] .module #g-page-surround .button:not(.btn--primary):active, #g-container-main [class*="sidebar"] .module #g-page-surround a.button:not(.btn--primary):active, #g-container-main [class*="sidebar"] .module button:active, #g-container-main [class*="sidebar"] .module input[type="submit"]:active, #g-main .aside .moduletable .btn:not(.btn--primary):active, #g-main .aside .moduletable a.btn:not(.btn--primary):active, #g-main .aside .moduletable .button:not(.btn--primary):active, #g-main .aside .moduletable a.button:not(.btn--primary):active, #g-main .aside .moduletable #g-page-surround .button:not(.btn--primary):active, #g-main .aside .moduletable #g-page-surround a.button:not(.btn--primary):active, #g-main .aside .moduletable button:active, #g-main .aside .moduletable input[type="submit"]:active, #g-main .aside .module .btn:not(.btn--primary):active, #g-main .aside .module a.btn:not(.btn--primary):active, #g-main .aside .module .button:not(.btn--primary):active, #g-main .aside .module a.button:not(.btn--primary):active, #g-main .aside .module #g-page-surround .button:not(.btn--primary):active, #g-main .aside .module #g-page-surround a.button:not(.btn--primary):active, #g-main .aside .module button:active, #g-main .aside .module input[type="submit"]:active, #g-main aside .moduletable .btn:not(.btn--primary):active, #g-main aside .moduletable a.btn:not(.btn--primary):active, #g-main aside .moduletable .button:not(.btn--primary):active, #g-main aside .moduletable a.button:not(.btn--primary):active, #g-main aside .moduletable #g-page-surround .button:not(.btn--primary):active, #g-main aside .moduletable #g-page-surround a.button:not(.btn--primary):active, #g-main aside .moduletable button:active, #g-main aside .moduletable input[type="submit"]:active, #g-main aside .module .btn:not(.btn--primary):active, #g-main aside .module a.btn:not(.btn--primary):active, #g-main aside .module .button:not(.btn--primary):active, #g-main aside .module a.button:not(.btn--primary):active, #g-main aside .module #g-page-surround .button:not(.btn--primary):active, #g-main aside .module #g-page-surround a.button:not(.btn--primary):active, #g-main aside .module button:active, #g-main aside .module input[type="submit"]:active, #g-main .sidebar .moduletable .btn:not(.btn--primary):active, #g-main .sidebar .moduletable a.btn:not(.btn--primary):active, #g-main .sidebar .moduletable .button:not(.btn--primary):active, #g-main .sidebar .moduletable a.button:not(.btn--primary):active, #g-main .sidebar .moduletable #g-page-surround .button:not(.btn--primary):active, #g-main .sidebar .moduletable #g-page-surround a.button:not(.btn--primary):active, #g-main .sidebar .moduletable button:active, #g-main .sidebar .moduletable input[type="submit"]:active, #g-main .sidebar .module .btn:not(.btn--primary):active, #g-main .sidebar .module a.btn:not(.btn--primary):active, #g-main .sidebar .module .button:not(.btn--primary):active, #g-main .sidebar .module a.button:not(.btn--primary):active, #g-main .sidebar .module #g-page-surround .button:not(.btn--primary):active, #g-main .sidebar .module #g-page-surround a.button:not(.btn--primary):active, #g-main .sidebar .module button:active, #g-main .sidebar .module input[type="submit"]:active, #g-main [class*="sidebar"] .moduletable .btn:not(.btn--primary):active, #g-main [class*="sidebar"] .moduletable a.btn:not(.btn--primary):active, #g-main [class*="sidebar"] .moduletable .button:not(.btn--primary):active, #g-main [class*="sidebar"] .moduletable a.button:not(.btn--primary):active, #g-main [class*="sidebar"] .moduletable #g-page-surround .button:not(.btn--primary):active, #g-main [class*="sidebar"] .moduletable #g-page-surround a.button:not(.btn--primary):active, #g-main [class*="sidebar"] .moduletable button:active, #g-main [class*="sidebar"] .moduletable input[type="submit"]:active, #g-main [class*="sidebar"] .module .btn:not(.btn--primary):active, #g-main [class*="sidebar"] .module a.btn:not(.btn--primary):active, #g-main [class*="sidebar"] .module .button:not(.btn--primary):active, #g-main [class*="sidebar"] .module a.button:not(.btn--primary):active, #g-main [class*="sidebar"] .module #g-page-surround .button:not(.btn--primary):active, #g-main [class*="sidebar"] .module #g-page-surround a.button:not(.btn--primary):active, #g-main [class*="sidebar"] .module button:active, #g-main [class*="sidebar"] .module input[type="submit"]:active {
  transform: scale(0.97) !important;
}
/* ── Dynamic Sidebar Content Display via Body Classes ── */
.show-on-register {
  display: none !important;
}
.show-on-login {
  display: block !important;
}
.view-registration .show-on-login {
  display: none !important;
}
.view-registration .show-on-register {
  display: block !important;
}
.g-companies, .g-companies-slider, .g-companies-slideset {
  padding: 0 var(--gutter, 2.5rem);
  max-width: var(--container-max, 82rem);
  margin: 0 auto;
  box-sizing: border-box;
}
.g-companies-container {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
  align-items: center;
  justify-items: center;
  margin: 1.5rem 0;
}
@media (min-width: 480px) {
  .g-companies-container {
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
  }
}
@media (min-width: 768px) {
  .g-companies-container {
    grid-template-columns: repeat(4, 1fr);
    gap: 2.5rem;
  }
}
@media (min-width: 1024px) {
  .g-companies-container {
    grid-template-columns: repeat(var(--columns, 5), 1fr);
  }
}
.g-companies-grid-item {
  width: 100%;
  display: flex;
}
.g-companies .g-companies-item, .g-companies-slider .g-companies-item, .g-companies-slideset .g-companies-item {
  width: 100%;
  aspect-ratio: 1.5;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  box-shadow: none;
  padding: 0.75rem;
  box-sizing: border-box;
  transition: all var(--duration-normal, 300ms) var(--ease-out-quart, ease-out);
  position: relative;
  overflow: hidden;
}
.g-companies .g-companies-item:hover, .g-companies-slider .g-companies-item:hover, .g-companies-slideset .g-companies-item:hover {
  transform: translateY(-2px);
}
.g-companies .g-companies-item:hover .g-companies-image img, .g-companies-slider .g-companies-item:hover .g-companies-image img, .g-companies-slideset .g-companies-item:hover .g-companies-image img {
  filter: grayscale(0%);
  opacity: 1;
}
.g-companies .g-companies-item .g-companies-image, .g-companies-slider .g-companies-item .g-companies-image, .g-companies-slideset .g-companies-item .g-companies-image {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.g-companies .g-companies-item .g-companies-image a, .g-companies-slider .g-companies-item .g-companies-image a, .g-companies-slideset .g-companies-item .g-companies-image a {
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
}
.g-companies .g-companies-item .g-companies-image img, .g-companies-slider .g-companies-item .g-companies-image img, .g-companies-slideset .g-companies-item .g-companies-image img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  filter: grayscale(100%);
  opacity: 0.75;
  transition: all var(--duration-normal, 300ms) var(--ease-out-quart, ease-out);
}
.g-companies .g-particle-intro, .g-companies-slider .g-particle-intro, .g-companies-slideset .g-particle-intro {
  text-align: center;
  margin-bottom: 2rem;
}
.g-companies .g-particle-intro .g-title, .g-companies-slider .g-particle-intro .g-title, .g-companies-slideset .g-particle-intro .g-title {
  font-size: var(--text-2xl, 1.75rem);
  font-family: var(--font-display, inherit);
  color: var(--on-surface, #1a1b24);
  margin-bottom: 0.5rem;
  font-weight: 700;
}
.g-companies .g-particle-intro .g-title-separator, .g-companies-slider .g-particle-intro .g-title-separator, .g-companies-slideset .g-particle-intro .g-title-separator {
  width: 60px;
  height: 3px;
  background: var(--primary, #006c4d);
  margin: 0.75rem auto 1.25rem;
  border-radius: 9999px;
}
.g-companies .g-particle-intro .g-title-separator.no-intro-text, .g-companies-slider .g-particle-intro .g-title-separator.no-intro-text, .g-companies-slideset .g-particle-intro .g-title-separator.no-intro-text {
  margin-bottom: 0;
}
.g-companies .g-particle-intro .g-introtext, .g-companies-slider .g-particle-intro .g-introtext, .g-companies-slideset .g-particle-intro .g-introtext {
  font-size: var(--text-base, 1rem);
  color: var(--outline, #6b7b72);
  max-width: 600px;
  margin: 0 auto;
  line-height: 1.5;
}
/*# sourceMappingURL=custom_15.css.map */