/* General layout tweaks */
body {
  background-color: #f8f9fa;
}
/* Shared section spacing */
.section-spacing {
  padding: 4rem 0;
}
.rounded-img {
  border-radius: 12px;   /* adjust to taste */
}
/* Full background image sections */
.full-bg {
  background-size: 100% auto;
  background-position: top center;
  background-repeat: no-repeat;
  position: relative;
  color: #ffffff;
}

/* Optional dark overlay to keep text readable */
.full-bg::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.4);
  z-index: 0;
}

.full-bg > .container,
.full-bg .container > * {
  position: relative;
  z-index: 1;
}

/* Specific background images – change these URLs to your own images */
.bg-countdown {
  background-image: url("../images/bg-countdown.jpg");
}

.bg-two-cols-1 {
  background-image: url("../images/bg-two-cols-1.jpg");
}

.bg-two-cols-2 {
  background-image: url("../images/bg-two-cols-1.jpg");
}

.bg-form {
  background-image: url("../images/bg-form.jpg");
}

/* Airtable frame wrapper – keeps it neat and responsive-ish */
.form-frame {
  max-width: 850px;      /* constrain width */
  margin: 0 auto;        /* centre it */
  background: rgba(255, 255, 255, 0.9);
  padding: 1.5rem;
  border-radius: 0.75rem;
	backdrop-filter: blur(4px); /* frosted effect */
}

/* Make embedded iframe fill the wrapper */
.form-frame iframe {
  width:100%;
  min-height: 800px;     /* or whatever height you like */
  border: 0;
}
.badge.text-wrap {
    white-space: normal;   /* allow wrapping inside the badge */
}
.page-intro-band {
  padding: 0.85rem 1.25rem 1rem;
  margin-top: -0.25rem;
  margin-bottom: 1rem;
  background: linear-gradient(
    to bottom,
    rgba(255, 255, 255, 0.5),
    rgba(255, 255, 255, 0.5),
    rgba(255, 255, 255, 0.5)
  );
  backdrop-filter: blur(3px);
  border-radius: 0.75rem;
}

.page-intro-band h1,
.page-intro-band h2 {
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
}

@media (max-width: 576px) {
  .page-intro-band {
    padding: 0.75rem 0.9rem 0.85rem;
    margin-top: 0;
  }
}
.rotate-90 {
    transform: rotate(90deg);
}
.rotate-180 {
    transform: rotate(180deg);
}
.rotate-270 {
    transform: rotate(270deg);
}
/* Speaker visits styling */

.visit-card {
    border-radius: 0.75rem;
}

.visit-card .card-header {
    border-bottom: none;
}

.visit-status-pill {
    background: #ffe5e9;
    color: #8a0031;
    font-weight: 600;
    padding: 0.4rem 0.9rem;
    font-size: 0.85rem;
}

.visit-tag {
    background: #eef7f0;
    color: #215732;
    font-weight: 500;
}

.visit-photo-wrapper {
    overflow: hidden;
    border-radius: 0.75rem;
}

.visit-photo {
    object-fit: cover;
}

.visit-meta div,
.visit-costs div {
    margin-bottom: 0.1rem;
}

.visit-progress-bar {
    height: 0.9rem;
    border-radius: 999px;
    overflow: hidden;
    background-color: #f3d7dc;
}

.visit-progress-bar .progress-bar {
    font-size: 0.75rem;
    font-weight: 600;
    align-items: center;
    display: flex;
    justify-content: flex-end;
    padding-right: 0.4rem;
    background-image: linear-gradient(90deg, #ffb8c4, #ff7d9c);
}
