/*
  Indico 3.3.x custom event theme
  Modern medical-inspired styling for event pages.
  Upload this file in Layout -> Customisation -> Theme -> CSS file
*/

:root {
  --medical-bg: #eff6fb;
  --medical-surface: rgba(255, 255, 255, 0.88);
  --medical-surface-strong: #ffffff;
  --medical-line: rgba(19, 66, 101, 0.12);
  --medical-text: #143149;
  --medical-muted: #5f7488;
  --medical-accent: #0aa6a6;
  --medical-accent-2: #2c6dff;
  --medical-accent-3: #31c48d;
  --medical-shadow: 0 24px 70px rgba(16, 46, 76, 0.14);
  --medical-shadow-soft: 0 12px 34px rgba(16, 46, 76, 0.1);
  --medical-radius: 24px;
  --medical-radius-sm: 16px;
}

body,
.event-page,
.conference-page,
#main-content,
.main-content {
  color: var(--medical-text);
  background:
    radial-gradient(circle at top left, rgba(44, 109, 255, 0.12), transparent 30%),
    radial-gradient(circle at top right, rgba(10, 166, 166, 0.12), transparent 26%),
    linear-gradient(180deg, #f9fcff 0%, #f2f8fc 45%, #edf4f9 100%);
}

body,
button,
input,
select,
textarea {
  font-family: "Segoe UI", "Inter", "Helvetica Neue", Arial, sans-serif;
}

a,
.ui,
.event-page a,
.conference-page a {
  transition:
    color 0.25s ease,
    opacity 0.25s ease,
    transform 0.25s ease,
    box-shadow 0.25s ease,
    background-color 0.25s ease,
    border-color 0.25s ease;
}

/* Hide Indico logo on event pages */
.event-page .event-logo,
.event-page .conference-logo,
.event-page .header-logo,
.conference-page .event-logo,
.conference-page .conference-logo,
.conference-page .header-logo,
.conference-page .logo-container,
.event-page .logo-container {
  display: none !important;
}

/* Main event hero/header */
.event-page .page-header,
.conference-page .page-header,
.event-page .event-header,
.conference-page .event-header,
.event-page .conference-header,
.conference-page .conference-header,
.event-page .layout-main-header,
.conference-page .layout-main-header,
.event-page .event-title-section,
.conference-page .event-title-section,
.event-page .event-info,
.conference-page .event-info {
  position: relative;
  overflow: hidden;
  margin: 20px 0 28px;
  padding: 38px 40px !important;
  border: 1px solid rgba(255, 255, 255, 0.42);
  border-radius: 30px;
  background:
    linear-gradient(135deg, rgba(8, 31, 52, 0.72), rgba(10, 84, 109, 0.6)),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1600 520'%3E%3Cdefs%3E%3ClinearGradient id='bg' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop stop-color='%230d3554'/%3E%3Cstop offset='.55' stop-color='%23116b87'/%3E%3Cstop offset='1' stop-color='%231ea58a'/%3E%3C/linearGradient%3E%3ClinearGradient id='glass' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop stop-color='%23ffffff' stop-opacity='.32'/%3E%3Cstop offset='1' stop-color='%23ffffff' stop-opacity='.02'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width='1600' height='520' fill='url(%23bg)'/%3E%3Ccircle cx='1280' cy='118' r='180' fill='%23ffffff' fill-opacity='.08'/%3E%3Ccircle cx='1410' cy='88' r='76' fill='%23ffffff' fill-opacity='.1'/%3E%3Ccircle cx='240' cy='80' r='120' fill='%23ffffff' fill-opacity='.05'/%3E%3Cpath d='M0 370c128-44 220-72 340-46 66 14 120 54 184 60 85 8 120-22 188-48 90-34 156-36 240 10 82 45 122 72 228 58 94-12 176-60 420-42v158H0z' fill='%23ffffff' fill-opacity='.08'/%3E%3Cpath d='M0 402c160 28 245 74 370 70 76-2 120-28 196-48 88-24 164-20 264 24 89 39 137 52 212 46 126-11 222-84 558-42v68H0z' fill='%23ffffff' fill-opacity='.12'/%3E%3Cg transform='translate(1030 78)' fill='none'%3E%3Crect x='0' y='0' width='360' height='250' rx='34' fill='url(%23glass)'/%3E%3Ccircle cx='98' cy='96' r='46' stroke='%23ffffff' stroke-opacity='.46' stroke-width='6'/%3E%3Cpath d='M82 96h32M98 80v32' stroke='%23ffffff' stroke-opacity='.62' stroke-width='6' stroke-linecap='round'/%3E%3Cpath d='M172 86h116M172 120h148M172 154h132' stroke='%23ffffff' stroke-opacity='.42' stroke-width='10' stroke-linecap='round'/%3E%3Cpath d='M46 198h252' stroke='%23ffffff' stroke-opacity='.2' stroke-width='4'/%3E%3C/g%3E%3Cg transform='translate(170 92)' fill='none' stroke='%23ffffff' stroke-opacity='.44' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M0 166h72l18-42 28 84 37-138 40 112h54l26-52 30 85 36-49h45l26-50 18 20h80' stroke-width='8'/%3E%3Cpath d='M94 0c20 18 43 27 69 27 52 0 86-36 137-36 34 0 62 12 93 34' stroke-width='5' stroke-opacity='.24'/%3E%3C/g%3E%3C/svg%3E");
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  box-shadow: var(--medical-shadow);
  color: #f8fcff !important;
}

.event-page .page-header::before,
.conference-page .page-header::before,
.event-page .event-header::before,
.conference-page .event-header::before,
.event-page .conference-header::before,
.conference-page .conference-header::before,
.event-page .layout-main-header::before,
.conference-page .layout-main-header::before,
.event-page .event-title-section::before,
.conference-page .event-title-section::before,
.event-page .event-info::before,
.conference-page .event-info::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at top right, rgba(255, 255, 255, 0.22), transparent 26%),
    radial-gradient(circle at bottom left, rgba(49, 196, 141, 0.22), transparent 34%);
  pointer-events: none;
}

.event-page .page-header::after,
.conference-page .page-header::after,
.event-page .event-header::after,
.conference-page .event-header::after,
.event-page .conference-header::after,
.conference-page .conference-header::after,
.event-page .layout-main-header::after,
.conference-page .layout-main-header::after,
.event-page .event-title-section::after,
.conference-page .event-title-section::after,
.event-page .event-info::after,
.conference-page .event-info::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(7, 22, 37, 0.14), rgba(7, 22, 37, 0.02) 42%, rgba(255, 255, 255, 0.03)),
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.08));
  opacity: 1;
  pointer-events: none;
}

.event-page .page-header > *,
.conference-page .page-header > *,
.event-page .event-header > *,
.conference-page .event-header > *,
.event-page .conference-header > *,
.conference-page .conference-header > *,
.event-page .layout-main-header > *,
.conference-page .layout-main-header > *,
.event-page .event-title-section > *,
.conference-page .event-title-section > *,
.event-page .event-info > *,
.conference-page .event-info > * {
  position: relative;
  z-index: 1;
}

.event-page .page-header h1,
.conference-page .page-header h1,
.event-page .event-title,
.conference-page .event-title,
.event-page .conference-title,
.conference-page .conference-title,
.event-page .event-title-section h1,
.conference-page .event-title-section h1 {
  margin-bottom: 12px;
  color: #ffffff !important;
  font-size: clamp(2rem, 4vw, 3.35rem);
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 1.06;
  text-wrap: balance;
}

.event-page .page-header .subtitle,
.conference-page .page-header .subtitle,
.event-page .event-info .date,
.conference-page .event-info .date,
.event-page .event-info .location,
.conference-page .event-info .location,
.event-page .page-header .info,
.conference-page .page-header .info {
  color: rgba(243, 249, 255, 0.84) !important;
  font-size: 1.02rem;
}

/* Modernize primary action buttons */
.i-button,
button.i-button,
a.i-button,
.event-page .ui.button,
.conference-page .ui.button,
.event-page .toolbar .button,
.conference-page .toolbar .button {
  border: 0 !important;
  border-radius: 999px !important;
  padding: 0.88rem 1.3rem !important;
  min-height: 46px;
  background:
    linear-gradient(135deg, var(--medical-accent), var(--medical-accent-2)) !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  letter-spacing: 0.01em;
  box-shadow: 0 14px 30px rgba(28, 94, 176, 0.22);
}

.i-button:hover,
.i-button:focus,
button.i-button:hover,
button.i-button:focus,
a.i-button:hover,
a.i-button:focus,
.event-page .ui.button:hover,
.conference-page .ui.button:hover,
.event-page .toolbar .button:hover,
.conference-page .toolbar .button:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 36px rgba(28, 94, 176, 0.28);
  filter: saturate(1.08);
}

.i-button.text-color,
.i-button.subtle,
.i-button.color-on-hover,
.i-button.icon-only {
  background:
    linear-gradient(135deg, rgba(10, 166, 166, 0.12), rgba(44, 109, 255, 0.14)) !important;
  color: var(--medical-text) !important;
  border: 1px solid rgba(44, 109, 255, 0.14) !important;
  box-shadow: none;
}

.i-button.accept,
.i-button.highlight,
.i-button.positive {
  background:
    linear-gradient(135deg, var(--medical-accent-3), var(--medical-accent)) !important;
}

/* Cards, info boxes, agenda blocks */
.event-page .page-box,
.conference-page .page-box,
.event-page .conference-page .box,
.conference-page .conference-page .box,
.event-page .ui.segment,
.conference-page .ui.segment,
.event-page .event-location,
.conference-page .event-location,
.event-page .event-description,
.conference-page .event-description,
.event-page .announcement,
.conference-page .announcement,
.event-page .infogrid,
.conference-page .infogrid,
.event-page .i-box,
.conference-page .i-box {
  border: 1px solid var(--medical-line) !important;
  border-radius: var(--medical-radius) !important;
  background: var(--medical-surface) !important;
  box-shadow: var(--medical-shadow-soft);
  backdrop-filter: blur(10px);
}

.event-page .announcement,
.conference-page .announcement {
  padding: 20px 22px !important;
  background:
    linear-gradient(135deg, rgba(44, 109, 255, 0.08), rgba(49, 196, 141, 0.09)) !important;
}

/* Side navigation and tabs */
.event-page .side-menu,
.conference-page .side-menu,
.event-page .category-navbar,
.conference-page .category-navbar,
.event-page .ui.tabular.menu,
.conference-page .ui.tabular.menu,
.event-page .page-tabs,
.conference-page .page-tabs {
  border: 1px solid var(--medical-line) !important;
  border-radius: 22px !important;
  background: rgba(255, 255, 255, 0.82) !important;
  box-shadow: var(--medical-shadow-soft);
}

.event-page .side-menu a,
.conference-page .side-menu a,
.event-page .ui.tabular.menu .item,
.conference-page .ui.tabular.menu .item,
.event-page .page-tabs a,
.conference-page .page-tabs a {
  border-radius: 14px !important;
  color: var(--medical-muted) !important;
  font-weight: 600;
}

.event-page .side-menu a:hover,
.conference-page .side-menu a:hover,
.event-page .ui.tabular.menu .item:hover,
.conference-page .ui.tabular.menu .item:hover,
.event-page .page-tabs a:hover,
.conference-page .page-tabs a:hover,
.event-page .side-menu .active,
.conference-page .side-menu .active,
.event-page .ui.tabular.menu .active.item,
.conference-page .ui.tabular.menu .active.item,
.event-page .page-tabs .active,
.conference-page .page-tabs .active {
  color: var(--medical-text) !important;
  background: linear-gradient(135deg, rgba(10, 166, 166, 0.1), rgba(44, 109, 255, 0.12)) !important;
}

/* Forms */
.event-page input,
.event-page select,
.event-page textarea,
.conference-page input,
.conference-page select,
.conference-page textarea,
.event-page .ui.input > input,
.conference-page .ui.input > input {
  border: 1px solid rgba(44, 109, 255, 0.16) !important;
  border-radius: 16px !important;
  background: rgba(255, 255, 255, 0.96) !important;
  color: var(--medical-text) !important;
  box-shadow: inset 0 1px 2px rgba(18, 44, 72, 0.03);
}

.event-page input:focus,
.event-page select:focus,
.event-page textarea:focus,
.conference-page input:focus,
.conference-page select:focus,
.conference-page textarea:focus,
.event-page .ui.input > input:focus,
.conference-page .ui.input > input:focus {
  border-color: rgba(44, 109, 255, 0.38) !important;
  box-shadow: 0 0 0 4px rgba(44, 109, 255, 0.12) !important;
  outline: none;
}

/* Tables and timetable-like blocks */
.event-page table,
.conference-page table,
.event-page .timetable,
.conference-page .timetable,
.event-page .schedule,
.conference-page .schedule {
  border-radius: var(--medical-radius-sm);
  overflow: hidden;
}

.event-page table th,
.conference-page table th,
.event-page .timetable .header,
.conference-page .timetable .header {
  background: rgba(20, 49, 73, 0.05) !important;
  color: var(--medical-text) !important;
}

.event-page table tr:hover td,
.conference-page table tr:hover td {
  background: rgba(44, 109, 255, 0.04) !important;
}

/* Footer polish */
.event-page footer,
.conference-page footer,
.event-page .footer,
.conference-page .footer {
  color: var(--medical-muted);
  background: transparent !important;
}

/* Better spacing on smaller screens */
@media (max-width: 768px) {
  .event-page .page-header,
  .conference-page .page-header,
  .event-page .event-header,
  .conference-page .event-header,
  .event-page .conference-header,
  .conference-page .conference-header,
  .event-page .layout-main-header,
  .conference-page .layout-main-header,
  .event-page .event-title-section,
  .conference-page .event-title-section,
  .event-page .event-info,
  .conference-page .event-info {
    padding: 28px 22px !important;
    border-radius: 24px;
  }

  .i-button,
  button.i-button,
  a.i-button {
    width: 100%;
    justify-content: center;
  }
}