:root{
  --ant-bg: #f6f8fb;
  --ant-card: #ffffff;
  --ant-text: #0f172a;
  --ant-muted: #475569;
  --ant-border: rgba(15,23,42,.10);
  --ant-shadow: 0 10px 26px rgba(15,23,42,.06);
}

/* Burgundy accent */
:root{
  --ant-accent: #D7263D;        /* <- change to your logo’s red */
  --ant-accent-hover: #B61F33;
  --ant-accent-soft: rgba(215, 38, 61, 0.14);
}

.ant-spacer{ height: 12px; }

/* Boxed navbar + burgundy stripe */
.ant-navbar{
  /* boxed layout */
  width: calc(100% - 28px);
  max-width: 1120px;
  margin: 16px auto 18px auto;

  background: #fff !important;
  border: 1px solid var(--ant-border);
  border-radius: 16px;
  box-shadow: 0 10px 26px rgba(15,23,42,.06);

  /* spacing */
  padding-top: 10px;
  padding-bottom: 10px;

  position: relative;
  overflow: hidden; /* so stripe follows rounded corners */
}

/* the burgundy stripe */
.ant-navbar::after{
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 5px;
  background: var(--ant-accent); /* your burgundy */
}

/* navbar text colors */
.ant-navbar .navbar-brand,
.ant-navbar .navbar-nav .nav-link{
  color: var(--ant-text) !important;
  font-weight: 600;
}

.ant-navbar .navbar-nav .nav-link:hover{
  color: var(--ant-accent) !important;
}

/* optional: show active link in burgundy */
.ant-navbar .navbar-nav .active > a,
.ant-navbar .navbar-nav .nav-link.active{
  color: var(--ant-accent) !important;
}

/* if your logo is tall (80px), keep the header from feeling cramped */
.ant-navbar .navbar-brand{
  display: flex;
  align-items: center;
  gap: 10px;
}

/* Navbar typography + spacing */
.ant-navbar .navbar-nav .nav-link{
  font-size: 20px;        /* try 15–16 */
  padding: 10px 14px;     /* bigger click targets + spacing */
  line-height: 1.2;
}

/* More space between items (Bootstrap 4) */
.ant-navbar .navbar-nav{
  gap: 10px;              /* try 8–14 */
}

/* If your Bootstrap doesn't support gap on flex, use margins instead */
.ant-navbar .navbar-nav > li{
  margin-right: 10px;
}
.ant-navbar .navbar-nav > li:last-child{
  margin-right: 0;
}

/* Brand text size (if you show it next to logo) */
.ant-navbar .navbar-brand{
  font-size: 16px;
}

/* If you want the logo to stay at 80px */
.ant-logo{
  height: 80px;
  width: auto;
  display: block;
}

/* Links */
a{ color: var(--ant-accent); }
a:hover, a:focus{ color: var(--ant-accent-hover); }

/* Primary buttons */
.btn-primary{
  background-color: var(--ant-accent) !important;
  border-color: var(--ant-accent) !important;
}
.btn-primary:hover, .btn-primary:focus{
  background-color: var(--ant-accent-hover) !important;
  border-color: var(--ant-accent-hover) !important;
}

/* Optional: make the pills match the accent subtly */
.ant-pill{
  border-color: var(--ant-accent-soft) !important;
}

/* Optional: nicer outline button (your ant-btn-outline) */
.ant-btn-outline{
  border-color: rgba(139, 30, 45, 0.28) !important;
  color: var(--ant-accent) !important;
}
.ant-btn-outline:hover{
  border-color: rgba(139, 30, 45, 0.45) !important;
  color: var(--ant-accent-hover) !important;
}

body{ background: var(--ant-bg); color: var(--ant-text); }

.navbar{ box-shadow: 0 1px 0 var(--ant-border); }

.ant-container{ max-width: 1120px; }

/* HERO separation */
.ant-hero{
  padding: 34px 0 28px 0;
  background: linear-gradient(180deg, var(--ant-bg), #ffffff);
  border-bottom: 1px solid var(--ant-border);
}
/* Hero background image */
.ant-hero{
  position: relative;
  overflow: hidden;
}

.ant-hero::before{
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("/assets/img/hero-bg.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: right center;
  filter: saturate(1.85) contrast(0.85);
  pointer-events: none;
}

.ant-hero::before{
  opacity: 1.20; /* was ~0.3 */
}

.ant-hero::after{
  background: linear-gradient(
    90deg,
    rgba(246,248,251,0.92) 0%,
    rgba(246,248,251,0.70) 55%,
    rgba(246,248,251,0.35) 100%
  );
}

.ant-hero::after{
  /* subtle readability overlay */
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.ant-hero .container{
  position: relative;
  z-index: 1;
}

/* Ensure the section below doesn't “stick” to hero */
.ant-section{
  padding: 22px 0 34px 0;
}

.ant-kicker{
  color: var(--ant-muted);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: 12px;
}

.ant-h1{
  margin: 10px 0 0 0;
  font-weight: 800;
  letter-spacing: -0.02em;
}

/* Boxed footer like navbar (no red stripe) */
.ant-footer{ margin: 0; padding: 0; }

.ant-footer-box{
  width: calc(100% - 28px);
  max-width: 1120px;
  margin: 18px auto 22px auto;

  background: #fff;
  border: 1px solid var(--ant-border);
  border-radius: 16px;
  box-shadow: 0 10px 26px rgba(15,23,42,.06);

  padding: 16px 0;
  position: relative;
  overflow: hidden;
}
.ant-footer-box::after{ content: none !important; } /* ensure no accent stripe */

/* 3-column grid: center stays centered, right block right-aligned, all bottom-aligned */
.ant-footer-row{
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: end;              /* <-- key: center line aligns to bottom of address */
  gap: 16px;
}

.ant-footer-center{
  grid-column: 2;
  text-align: center;
  color: var(--ant-muted);
  font-size: 12px;
  line-height: 1.35;
}

.ant-footer-right{
  grid-column: 3;
  justify-self: end;

  display: flex;
  flex-direction: column;

  /* keep the whole block on the right, but left-align its contents */
  align-items: flex-start;
  text-align: left;
}

.ant-footer-address{
  margin-top: 8px;
  color: var(--ant-muted);
  font-size: 12px;
  line-height: 1.35;
}

/* Mobile: stack nicely */
@media (max-width: 768px){
  .ant-footer-row{
    grid-template-columns: 1fr;
    align-items: start;
  }
  .ant-footer-center{
    grid-column: 1;
    text-align: center;
    margin-top: 12px;
  }
  .ant-footer-right{
    grid-column: 1;
    justify-self: center;
    text-align: center;
    align-items: center;
  }
}

.ant-lead{
  margin-top: 14px;
  font-size: 18px;
  line-height: 1.55;
  color: var(--ant-muted);
  max-width: 60ch;
}

.ant-cta-row{ margin-top: 18px; display:flex; gap:10px; flex-wrap:wrap; }
.ant-btn-outline{ background: transparent; border: 1px solid var(--ant-border); }

.ant-pills{ margin-top: 14px; display:flex; gap:8px; flex-wrap:wrap; }
.ant-pill{
  display:inline-block;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid var(--ant-border);
  background: rgba(255,255,255,.7);
  color: var(--ant-muted);
  font-size: 12px;
  font-weight: 600;
}

.ant-card{
  background: var(--ant-card);
  border: 1px solid var(--ant-border);
  border-radius: 16px;
  box-shadow: var(--ant-shadow);
}

/* Slimmer card padding variant */
.ant-card-pad-sm{
  padding: 12px 14px;
}

/* Slim agenda list */
.ant-agenda-item{
  padding: 8px 10px;
}

.ant-agenda-title{
  font-weight: 700;
  font-size: 14px;
  line-height: 1.25;
}

.ant-agenda .ant-muted{
  font-size: 12px;
  line-height: 1.25;
}
.ant-card-pad{ padding: 16px 18px; }

.ant-card-title{ font-weight: 800; font-size: 16px; margin-bottom: 4px; }

.ant-muted{ color: var(--ant-muted); }

.ant-subcard{
  margin-top: 12px;
  padding: 12px 12px;
  border: 1px solid var(--ant-border);
  border-radius: 12px;
  background: #fff;
  box-shadow: none;
}

.ant-subcard-actions{ margin-top: 10px; }

.ant-section{ padding: 22px 0 34px 0; }

.ant-h2{ font-size: 24px;font-weight: 800; letter-spacing: -0.01em;  margin: 22px 0 12px 0;
 }

.ant-row-head{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
.ant-link{ color: var(--ant-muted); text-decoration:none; }
.ant-link:hover{ text-decoration: underline; }

.ant-spacer{ height: 16px; }

.ant-post-list{ margin-top: 12px; display:grid; gap: 10px; }
.ant-post-item{ padding-top: 10px; border-top: 1px solid var(--ant-border); }
.ant-post-item:first-child{ padding-top:0; border-top:0; }

.ant-agenda{ margin-top: 10px; display:grid; gap: 10px; }
.ant-agenda-item{
  padding: 10px 10px;
  border: 1px solid var(--ant-border);
  border-radius: 12px;
  background: #fff;
}
.ant-agenda-title{ font-weight: 700; }
.ant-logo {
  height: 80px;
  width: auto;
  display: inline-block;
  vertical-align: middle;
}
.ant-post-teasers{
  margin-top: 12px;
  display: grid;
  gap: 12px;
}

.ant-post-teaser{
  display: flex;
  gap: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--ant-border);
}
.ant-post-teaser:first-child{
  padding-top: 0;
  border-top: 0;
}

.ant-post-thumb{
  flex: 0 0 80px;
  width: 80px;
  height: 48px;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid var(--ant-border);
  background: #fff;
}
.ant-post-thumb img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.ant-post-body{ min-width: 0; }
.ant-post-title a{
  font-weight: 800;
  text-decoration: none;
}
.ant-post-title a:hover{ text-decoration: underline; }

.ant-post-meta{
  color: var(--ant-muted);
  font-size: 12px;
  margin-top: 2px;
}

.ant-post-excerpt{
  color: var(--ant-muted);
  margin-top: 6px;
  line-height: 1.45;
}

.ant-hero-training { padding-bottom: 20px; margin-bottom: 18px; }

.ant-training-grid{
  display: grid;
  gap: 14px;
  margin-top: 12px;
}
@media (min-width: 992px){
  .ant-training-grid{ grid-template-columns: 1fr 1fr; }
}

.ant-h3{
  font-weight: 800;
  margin: 8px 0 2px 0;
  letter-spacing: -0.01em;
}
.ant-h1-tight{
  white-space: nowrap;        /* keep one line on wide screens */
}

@media (max-width: 768px){
  .ant-h1-tight{
    white-space: normal;      /* allow wrap on mobile */
  }
}

.ant-list{ margin-top: 12px; display: grid; gap: 10px; }

.ant-list-item{
  padding-top: 10px;
  border-top: 1px solid var(--ant-border);
}
.ant-list-item:first-child{
  border-top: 0;
  padding-top: 0;
}

.ant-list-title a{
  font-weight: 700;
  text-decoration: none;
}
.ant-list-title a:hover{ text-decoration: underline; }

.ant-note{ margin-top: 4px; }

.ant-session-row{
  padding-top: 10px;
  border-top: 1px solid var(--ant-border);
}
.ant-session-row:first-child{
  padding-top: 0;
  border-top: 0;
}

.ant-session-date{
  font-weight: 700;
}

.ant-session-time{
  font-size: 12px;
  margin-top: 2px;
}

.ant-session-note{
  font-size: 12px;
  margin-top: 4px;
}

/* Course cards in homepage hero (with right-side thumbnail) */
.ant-coursecard{
  margin-top: 12px;
  padding: 12px;
  border: 1px solid var(--ant-border);
  border-radius: 12px;
  background: #fff;

  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 12px;
}

.ant-coursecard-body{
  min-width: 0;
}

.ant-coursecard-title{
  margin-top: 2px;
}

.ant-coursecard-thumb{
  flex: 0 0 110px;
  width: 110px;
  height: 74px;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid var(--ant-border);
  background: rgba(15,23,42,.02);
}

.ant-coursecard-thumb img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.ant-course-header{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
}

.ant-course-grid{
  margin-top: 12px;
  display:grid;
  gap:12px;
}

@media (min-width: 992px){
  .ant-course-grid{
    grid-template-columns: 1.4fr 1fr 1fr;
  }
}

.ant-subcard-fill{
  background:#fff;
}

.ant-price-row{
  display:flex;
  justify-content:space-between;
  gap:12px;
  border-top: 1px solid var(--ant-border);
  padding-top: 8px;
  margin-top: 8px;
}
.ant-price-row:first-child{
  border-top: 0;
  padding-top: 0;
  margin-top: 0;
}
.ant-price-cur{
  font-weight: 800;
}
.ant-price-val{
  font-weight: 700;
  color: var(--ant-text);
}

/* Course thumbnail in trainings overview */
.ant-course-thumb{
  display: block;
  width: 160px;          /* adjust: 140–200 */
  height: 96px;          /* 16:9-ish */
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid var(--ant-border);
  background: rgba(15,23,42,.02);
  margin-top: 12px;
}

.ant-course-thumb img{
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  display: block;
}

.ant-course-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

/* left thumb */
.ant-course-thumb-left{
  flex: 0 0 auto;
  width: 96px;
  height: 64px;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid var(--ant-border);
  background: rgba(15,23,42,.02);
  display:block;
}

.ant-course-thumb-left img{
  width:100% !important;
  height:100% !important;
  object-fit: cover;
  display:block;
}

/* title area should grow */
.ant-course-header-left{
  flex: 1 1 auto;
  min-width: 0;
}

/* button stays on the right */
.ant-course-header-right{
  flex: 0 0 auto;
}

.ant-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-right:6px;
  color: var(--ant-accent);
  vertical-align: middle;
}

.ant-pill-online{
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.ant-pill-icon svg{
  color: var(--ant-accent);
  width: 14px;
  height: 14px;
  display: block;
}

/* Nice address block */
.ant-company-card{
  border: 1px solid var(--ant-border);
  border-radius: 12px;
  background: #fff;
  padding: 12px 14px;
  box-shadow: 0 10px 26px rgba(15,23,42,.05);
  max-width: 520px;
}

.ant-company-card .line-block{
  margin: 0;
  color: var(--ant-text);
  line-height: 1.4;
}

.ant-company-card strong{
  font-weight: 800;
}

.ant-hero-extra{
  margin-top: 10px;
}

.ant-post-meta-row{
  margin-top: 10px;
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.ant-prose h2, .ant-prose h3{
  margin-top: 18px;
}

.ant-post-heroimg{
  margin-bottom: 14px;
  border: 1px solid var(--ant-border);
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
}
.ant-post-heroimg img{
  width: 100%;
  height: auto;
  display: block;
}

.ant-list-pagination{
  display:flex;
  justify-content:space-between;
  gap:12px;
}

/* No default background image */
.ant-hero::before{
  background-size: cover;
  background-position: left center;
}

/* Default hero background (fallback) */
.ant-hero::before{
  background-image: url("/assets/img/hero-home.png");
  background-position: left center;   /* keep interesting part left */
}

/* Home */
.ant-hero-home::before{
  background-image: url("/assets/img/hero-home.png");
  background-position: left center;
}

/* Trainings overview */
.ant-hero-training::before{
  background-image: url("/assets/img/hero-trainings.png");
  background-position: left center;
}

/* Blog index + lists */
.ant-hero-blog::before{
  background-image: url("/assets/img/hero-blog.png");
  background-position: left center;
}

/* Single blog posts */
.ant-hero-blogpost::before{
  background-image: url("/assets/img/hero-blogpost.png");
  background-position: left center;
}

/* Agenda clarity layout */
.ant-agenda-clear .ant-agenda-line1{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:4px;
}
.ant-agenda-date{
  font-weight:800;
}

/* Status pills */
.ant-status-open{
  border-color: rgba(22,163,74,.25) !important;
  background: rgba(22,163,74,.10) !important;
  color: #166534 !important;
}
.ant-status-soldout{
  border-color: rgba(220,38,38,.25) !important;
  background: rgba(220,38,38,.10) !important;
  color: #7f1d1d !important;
}

.ant-grid2{ display:grid; gap:12px; }
@media (min-width: 992px){ .ant-grid2{ grid-template-columns: 1fr 1fr; } }

.ant-price-grid{ margin-top:10px; display:grid; gap:8px; }
.ant-price-row{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  border-top: 1px solid var(--ant-border);
  padding-top: 8px;
}
.ant-price-row:first-child{ border-top:0; padding-top:0; }
.ant-price-cur{ font-weight:800; }
.ant-price-val{ font-weight:800; color: var(--ant-text); }

/* Base table styling for our “pretty tables” */
.ant-table{
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  margin-top: 8px;
}

.ant-table td{
  padding: 8px 0;
  border-top: 1px solid var(--ant-border);
  vertical-align: top;
}

.ant-table tr:first-child td{
  border-top: 0;
}

/* Timezone table: aligned time/city columns */
.ant-time{
  width: 190px;                 /* fixed width so times line up */
  text-align: right;
  padding-right: 14px;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  color: var(--ant-text);
  font-weight: 700;
}

.ant-city{
  text-align: left;
  color: var(--ant-muted);
  font-weight: 600;
}

/* Pricing table: aligned currency/price columns */
.ant-cur{
  width: 90px;
  font-weight: 800;
  color: var(--ant-text);
}

.ant-price{
  text-align: right;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  color: var(--ant-text);
}

.ant-hero-info{
  margin-top: 12px;
  display: flex;
  flex-direction: column;  /* stack vertically */
  gap: 10px;
  align-items: flex-start;
}

.ant-hero-infoitem{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--ant-muted);
  font-size: 15px;
  font-weight: 700;
}

.ant-hero-infoicon{
  width: 30px;
  height: 30px;
  color: var(--ant-accent);
  display: inline-flex;
}

.ant-hero-infoicon svg{
  width: 30px;
  height: 30px;
  display: block;
}

.ant-hero-infotext a{
  color: var(--ant-accent);
  text-decoration: none;
}
.ant-hero-infotext a:hover{
  text-decoration: underline;
}

/* Bigger reST headings inside content cards */
.ant-prose h1{
  font-size: 32px;
  line-height: 1.15;
  font-weight: 850;
  margin: 0 0 14px 0;
}

.ant-prose h2{
  font-size: 24px;
  line-height: 1.2;
  font-weight: 850;
  margin: 22px 0 12px 0;
}

.ant-prose h3{
  font-size: 18px;
  line-height: 1.25;
  font-weight: 850;
  margin: 18px 0 10px 0;
}

.ant-prose p,
.ant-prose li{
  line-height: 1.6;
}

.ant-prose ul{
  margin-top: 8px;
}

.ant-instructor{
  display: flex;
  gap: 12px;
  align-items: center;
  margin-top: 10px;
}

.ant-instructor-thumb{
  width: 56px;
  height: 56px;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid var(--ant-border);
  background: rgba(15,23,42,.02);
  flex: 0 0 auto;
}

.ant-instructor-thumb img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.ant-instructor-name{
  font-weight: 900;
  letter-spacing: -0.01em;
}
