/*
 * AccML 2027 modern uplift — loaded after creative.css, only on workshop-2027-hipeac.html.
 * Previous years' pages keep the original creative.css look.
 */

:root {
  --accml-primary: #2f6fe4;
  --accml-primary-dark: #1e4fb3;
  --accml-ink: #1c2733;
  --accml-ink-soft: rgba(28, 39, 51, 0.75);
  --accml-surface: #f6f8fb;
  --accml-radius: 14px;
  --accml-shadow: 0 8px 24px rgba(28, 39, 51, 0.08);
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: 'Open Sans', 'Helvetica Neue', Arial, sans-serif;
  color: var(--accml-ink);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 700;
  letter-spacing: -0.015em;
}

p {
  line-height: 1.7;
}

.text-black-faded {
  color: var(--accml-ink-soft);
}

/* Section rhythm: alternate white / soft surface */
section {
  padding: 90px 0;
}
section:nth-of-type(even) {
  background-color: var(--accml-surface);
}

/* Accent rules become soft rounded bars */
hr,
hr.primary,
hr.light {
  border: none;
  height: 4px;
  max-width: 64px;
  border-radius: 2px;
  background: linear-gradient(90deg, var(--accml-primary), #55a0ff);
}

/* Header: gradient overlay over the image for contrast */
header {
  background-image: linear-gradient(135deg, rgba(14, 28, 64, 0.80), rgba(31, 79, 179, 0.50)), url('../img/header2027.png');
}
header .header-content .header-content-inner h1 {
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.35);
}
header .header-content .header-content-inner p {
  background: rgba(15, 30, 60, 0.35);
  border-radius: var(--accml-radius);
  padding: 18px 24px;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

/* Navbar: frosted glass once it sticks */
.navbar-default.affix {
  background-color: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: 0 2px 12px rgba(28, 39, 51, 0.08);
}

/* Buttons: gradient + hover lift */
.btn-primary {
  background: linear-gradient(135deg, var(--accml-primary), var(--accml-primary-dark));
  border: none;
  box-shadow: 0 6px 18px rgba(47, 111, 228, 0.35);
}
.btn-primary:hover,
.btn-primary:focus {
  background: linear-gradient(135deg, #3f83f5, var(--accml-primary));
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(47, 111, 228, 0.45);
}
.btn {
  transition: all 0.25s ease;
}

/* Card row: side by side and equal height from tablet width up */
@media (min-width: 768px) {
  #CfP .row.text-black-faded {
    display: flex;
    align-items: stretch;
  }
  #CfP .row.text-black-faded > [class*='col-'] {
    display: flex;
  }
  #CfP .row.text-black-faded .service-box {
    width: 100%;
  }
}

/* Card call-to-action links */
.service-box a.card-cta {
  display: block;
  margin-top: auto;
  padding-top: 16px;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--accml-primary);
  text-align: center;
}
.service-box a.card-cta::after {
  content: ' \2192';
}
.service-box a.card-cta:hover,
.service-box a.card-cta:focus {
  color: var(--accml-primary-dark);
  text-decoration: underline;
}

/* Important dates / format / submission boxes become cards */
.service-box {
  background: #ffffff;
  border: 1px solid rgba(28, 39, 51, 0.06);
  border-radius: var(--accml-radius);
  box-shadow: var(--accml-shadow);
  padding: 30px 24px;
  height: 100%;
  display: flex;
  flex-direction: column;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.service-box:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 32px rgba(28, 39, 51, 0.12);
}

/* Program table: rounded card with soft stripes */
.table {
  background: #ffffff;
  border-radius: var(--accml-radius);
  overflow: hidden;
  box-shadow: var(--accml-shadow);
}
.table > thead > tr > th {
  background: var(--accml-ink);
  color: #ffffff;
  border: none;
  padding: 14px 16px;
}
.table > tbody > tr > th,
.table > tbody > tr > td {
  padding: 14px 16px;
  border-top: 1px solid rgba(28, 39, 51, 0.06);
  vertical-align: middle;
}
.table-striped > tbody > tr:nth-of-type(odd) {
  background-color: var(--accml-surface);
}

/* Speaker photos: rounded with a subtle ring */
section img.img {
  border-radius: var(--accml-radius);
  box-shadow: var(--accml-shadow);
}
