/* ==========================================================

   Single Event Layout

   ========================================================== */
 
.single-event-wrapper {

  padding: 65px 0 80px;

}
 
/* Generic page container for single event sections */

.single-event-inner,

.single-event-middle-inner,

.single-event-products,

.single-event-products-header,

.single-event-products-grid {

  max-width: var(--content-width);

  margin-inline: auto;

  padding-inline: 16px;

}
 
.single-event-section {

  max-width: var(--content-width);

  margin-inline: auto;

  padding-inline: 16px;

}
 
/* ---------------------------------------------

   Breadcrumbs

---------------------------------------------- */
 
.single-event-breadcrumbs {

  padding-top: 24px;

  margin-bottom: 24px;

  font-size: 13px;

}
 
.single-event-breadcrumbs #breadcrumbs {

  margin: 0;

  color: #6b7280;

}
 
.single-event-breadcrumbs a {

  color: #6b7280;

  text-decoration: none;

}
 
.single-event-breadcrumbs a:hover {

  color: var(--global-color-blue);

}
 
.single-event-breadcrumbs .sep {

  margin: 0 4px;

}
 
/* ---------------------------------------------

   Content (top)

---------------------------------------------- */
 
.single-event-content {

  margin-bottom: 32px;

}
 
.single-event-header {

  margin-bottom: 0px;

  display: flex;

  flex-direction: column;

  gap: 0;

  line-height: 1;

}
 
.event-date {

  font-size: 3rem;

  color: #000;

  line-height: 1.2;

  font-weight: 500;

  margin: 0 0 8px;

}
 
.single-event-title {

  font-size: 4rem;

  color: var(--global-color-blue);

  line-height: 1.2;

  font-weight: 700;

  margin: 0 0 0px;

}
 
/* CTA button: same look and behaviour as single-country (opens contact modal) */

.single-event-content .btn-orange {

  display: inline-flex;

  align-items: center;

  justify-content: center;

  align-self: flex-start; /* don't stretch to full width in flex header */

  margin-top: 1.25rem;

  padding: 6px 18px;

  line-height: 1.9;

  background: var(--global-color-blue);

  color: #fff;

  font-weight: 600;

  font-size: 1.2rem;

  text-decoration: none;

  transition:

    transform 0.15s ease,

    box-shadow 0.15s ease,

    opacity 0.15s ease;

  white-space: nowrap;

}
 
.single-event-content .btn-orange:hover {

  color: #fff;

  background: var(--global-color-blue);

}
 
.single-event-content .btn-orange:focus-visible {

  outline: 2px solid #000;

  outline-offset: 2px;

}
 
.single-event-content .btn-orange::after {

  content: "";

  width: 17px;

  height: 17px;

  display: inline-block;

  background-repeat: no-repeat;

  background-size: contain;

  background-image: url(../images/chevron-right.svg);

  margin-left: 10px;

  transition: transform 0.2s ease;

}
 
.single-event-content .btn-orange:hover::after {

  transform: translateX(3px);

}
 
.single-event-content .single-event-body {

  font-size: 1.5rem;

  line-height: 1.7;

  color: #000;

  margin-top: 0px;

}
 
.single-event-body h3,

.single-event-body h4,

.single-event-body h5,

.single-event-body h6 {

  font-size: 3rem;

  line-height: 1.7;

  color: #000;

  font-weight: 700;

}
 
.single-event-body p > strong {

  font-size: 2rem;

  color: #000;

  font-weight: 500;

}
 
/* ---------------------------------------------

   Blue CTA banner

---------------------------------------------- */

.single-event-banner {

  width: 100%;

  background: var(--global-color-blue);

  color: #fff;

  margin: 40px 0;

  padding-block: 16px;

  /* no flex here */

}
 
.single-event-banner-container {

  max-width: var(--content-width);

  margin-inline: auto;

  padding-inline: 16px;
 
  display: flex;

  align-items: center;

  justify-content: space-between;

  gap: 24px;

}
 
.single-event-banner-inner {

  max-width: var(--content-width);

  margin-inline: auto;

  padding-inline: 16px;

  display: flex;

  align-items: center;

  justify-content: space-between;

  gap: 24px;

}
 
.single-event-banner-left .event-location {

  font-size: 1.3rem;

}
 
.single-event-banner-left {

  display: flex;

  align-items: center;

  gap: 16px;

}
 
.single-event-banner-right {

  margin-left: auto; /* Extra safety */

  display: none;

  align-items: center;

}
 
.single-event-banner-left::before {

  content: "";

  width: 32px;

  height: 32px;

  background: url(../images/location.svg) center center / contain no-repeat;

  transition:

    transform 0.2s ease,

    opacity 0.2s ease;

  flex-shrink: 0;

  display: block;

}
 
.single-event-banner-label {

  display: inline-flex;

  align-items: center;

  font-size: 2rem;

  font-weight: 600;

  line-height: 1.2;

}
 
.event-location {

  font-size: 1rem;

  opacity: 0.85;

  margin-top: 4px;

}
 
.event-location-header {

  color: var(--global-color-blue);

  font-size: 2.2rem;

  font-weight: 600;

}
 
.header-secondary {

  margin: 5rem 0;

}
 
.sub_title {

  font-size: 3rem;

  font-weight: 600;

  color: #000;

}
 
.single-event-banner-textwrap .event-meta {

  margin-top: 6px;

  display: flex;

  flex-direction: column;

  gap: 2px;

}
 
.single-event-banner-textwrap .event-location {

  font-size: 1.5rem;

  color: #fff;

  font-weight: 600;

}
 
.single-event-banner-textwrap .hall-booth {

  display: flex;

  gap: 10px;

  align-items: center;

}

.single-event-banner-textwrap .event-hall,
.single-event-banner-textwrap .event-booth {

  font-size: 1.3rem;

  font-weight: 700;

  color: #fff;

}
 
.single-event-banner-textwrap .event-booth::before {

  content: "";

  display: inline-block;

  width: 8px;

  height: 8px;

  margin-right: 8px;

  border-radius: 50%;

  background-color: #fff;

  vertical-align: middle;

}
 
.single-event-banner-textwrap {

  display: flex;

  flex-direction: column;

  justify-content: center;

}
 
.single-event-add-to-calendar {

  display: inline-flex;

  align-items: center;

  justify-content: center;

  padding: 10px 22px;

  border-radius: 4px;

  border: 1px solid #ffffff;

  background: #ffffff;

  color: var(--global-color-blue);

  font-size: 1.5rem;

  font-weight: 700;

  letter-spacing: 0.12em;

  text-transform: uppercase;

  text-decoration: none;

  transition:

    background 0.18s ease,

    color 0.18s ease,

    transform 0.18s ease,

    box-shadow 0.18s ease;

}
 
.single-event-add-to-calendar::before {

  content: "";

  width: 20px;

  height: 20px;

  background: url(../images/calendar.svg) center center / contain no-repeat;

  transition:

    transform 0.2s ease,

    opacity 0.2s ease;

  flex-shrink: 0;

  display: block;

  margin-right: 8px;

  margin-top: -3px; /* ← pushes icon up */

}
 
.single-event-add-to-calendar:hover {

  background: #e5edff;

  color: var(--global-color-blue);

  transform: translateY(-1px);

  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.25);

}
 
/* ---------------------------------------------

   Middle section (dummy text)

---------------------------------------------- */
 
.single-event-iframe-wrapper {

  width: 100%;

  max-width: var(--content-width);

  margin-inline: auto;

  padding-inline: 16px;

  margin-bottom: 48px;

  background-color: #f6f6f6;

}
 
.single-event-iframe-wrapper iframe {

  width: 100%;

  height: min(60vh, 600px);

  border: none;

  border-radius: 8px;

  background: #000;

  display: block;

}
 
.single-event-middle {

  padding: 40px 0 40px;

}
 
.single-event-middle-inner {

  /*max-width: 800px; */

  margin: 0 auto;

}
 
.single-event-middle-inner h2 {

  font-size: 24px;

  margin: 0 0 8px;

}
 
.single-event-middle-inner h3 {

  font-size: 18px;

  margin: 24px 0 8px;

}
 
.single-event-middle-inner p {

  font-size: 1.5rem;

  line-height: 1.7;

  color: #4b5563;

}
 
/* ---------------------------------------------

   Products grid (bottom)

---------------------------------------------- */
 
.single-event-products {

  padding: 40px 0 8px;

}
 
.single-event-products-header {

  margin-bottom: 20px;

}
 
.single-event-products-header h2 {

  font-size: 24px;

  margin: 0 0 8px;

}
 
/* Products grid: match tax-solution products-grid (3 cols, gap 22px, hover arrow + image zoom) */

.single-event-products-grid {

  display: grid;

  grid-template-columns: repeat(3, 1fr);

  gap: 22px;

}
 
.single-event-product {

  background: #fff;

  overflow: hidden;

  list-style: none;

}
 
/* Card link: one link wraps entire card */

.single-event-product-link {

  display: flex;

  flex-direction: column;

  height: 100%;

  background: #ffffff;

  color: #000000;

  text-decoration: none;

  border-radius: 0;

  overflow: hidden;

}
 
/* Image: 4/3 aspect-ratio, hover zoom */

.single-event-product-thumb {

  position: relative;

  overflow: hidden;

}
 
.single-event-product-thumb img {

  display: block;

  width: 100%;

  height: 100%;

  aspect-ratio: 4 / 3;

  object-fit: cover;

  transform: scale(1);

  transition: transform 0.35s ease-out;

}
 
.single-event-product-link:hover .single-event-product-thumb img {

  transform: scale(1.05);

}
 
/* Text part: match product-info */

.single-event-product-meta {

  padding: 1.2rem 1.5rem 2rem 0;

}
 
.single-event-product-title {

  margin: 0 0 8px;

  font-size: 2rem;

  font-weight: 600;

  color: #000000;

  line-height: 2.3rem;

}

.single-event-product-title span {
  font-size: 1.5rem;
  font-weight: 400;
}
 
/* Arrow + animation: match product-title ::after */

.single-event-product-title::after {

  content: "";

  width: 20px;

  height: 18px;

  display: inline-block;

  background: url(../images/chevron-right-black.svg) no-repeat center / contain;

  margin-left: 1rem;

  opacity: 0;

  transform: translateX(-8px);

  transition: opacity 0.25s ease, transform 0.25s ease;

}
 
.single-event-product-link:hover .single-event-product-title::after {

  opacity: 1;

  transform: translateX(0);

}
 
.single-event-product-text {

  margin: 0;

  font-size: 1rem;

  line-height: 1.5;

  color: #1B2128;

}
 
.single-event-no-products {

  font-size: 14px;

  color: #6b7280;

}
 
/* ---------------------------------------------

   Responsive

---------------------------------------------- */
 
@media (max-width: 1024px) {

  .single-event-inner {

    padding: 0 16px 32px;

  }
 
  .single-event-banner {

    margin: 16px -16px 32px;

  }
 
  .single-event-banner-inner {

    padding: 14px 20px;

    flex-direction: column;

    align-items: flex-start;

  }
 
  .single-event-products-grid {

    grid-template-columns: repeat(2, minmax(0, 1fr));

  }

}
 
@media (max-width: 767.98px) {

  .single-event-products-grid {

    grid-template-columns: 1fr;

    gap: 20px;

  }
 
  .single-event-product-meta {

    padding: 12px 12px 16px;

  }

}
 
@media (max-width: 640px) {

  .single-event-title {

    font-size: 4rem;

  }
 
  .single-event-breadcrumbs {

    padding-top: 0px;

    margin-bottom: 24px;

    font-size: 1.2rem;

  }
 
  .single-event-banner-inner {

    padding: 12px 16px;

    align-items: flex-start;

  }
 
  .single-event-products-grid {

    grid-template-columns: 1fr;

  }
 
  .single-event-inner {

    padding: 0 12px 24px;

  }
 
  .single-event-banner {

    margin: 16px 0px 28px;

  }
 
  .single-event-banner-left {

    display: flex;

    align-items: flex-start;

    gap: 16px;

    flex-direction: column;

    align-content: flex-start;

  }

}

/* =====================================================
   EVENT CONTACT FORM SECTION (bottom of single-event)
   ===================================================== */

.event-contact-form-section {
  padding: clamp(48px, 6vw, 96px) 24px;
  background: var(--global-color-blue);
}

.event-contact-form-inner {
  max-width: 1300px;
  margin: 0 auto;
  padding: 0 24px;
}

.event-contact-form-title {
  font-size: 3rem;
  color: #fff;
  font-weight: 700;
  margin: 0 0 32px;
  text-align: left;
}

.event-contact-form-wrapper {
  max-width: 100%;
  margin: 0;
}

/* Gravity Forms styling for event contact form (Form ID 2) */
.event-contact-form-section #gform_wrapper_2 {
  max-width: 100%;
  color: #fff;
}

.event-contact-form-section #gform_wrapper_2 .gform_title,
.event-contact-form-section #gform_wrapper_2 .gform_description {
  display: none;
}

.event-contact-form-section #gform_wrapper_2 .gfield_label {
  display: none;
}

.event-contact-form-section #gform_wrapper_2 .ginput_container.has-floating-label {
  position: relative;
  padding-top: 18px;
}

.event-contact-form-section #gform_wrapper_2 .floating-label {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.6rem;
  line-height: 1;
  color: rgba(255, 255, 255, 0.7);
  pointer-events: none;
  transition: all 0.18s ease-out;
}

.event-contact-form-section #gform_wrapper_2 .ginput_container.has-floating-label.is-focused .floating-label,
.event-contact-form-section #gform_wrapper_2 .ginput_container.has-floating-label.has-value .floating-label {
  top: -4px;
  transform: none;
  font-size: 1.1rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #fff;
}

.event-contact-form-section #gform_wrapper_2 .ginput_container.has-floating-label input,
.event-contact-form-section #gform_wrapper_2 .ginput_container.has-floating-label textarea {
  padding-top: 6px;
}

.event-contact-form-section #gform_wrapper_2 input[type="text"],
.event-contact-form-section #gform_wrapper_2 input[type="email"],
.event-contact-form-section #gform_wrapper_2 input[type="tel"],
.event-contact-form-section #gform_wrapper_2 textarea {
  width: 100%;
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 12px 0 8px;
  font-size: 1.5rem;
  color: #fff;
  outline: none;
}

.event-contact-form-section #gform_wrapper_2 .gfield {
  position: relative;
  margin-bottom: 24px;
}

.event-contact-form-section #gform_wrapper_2 .gfield::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: rgba(255, 255, 255, 0.5);
  transition: height 140ms ease, background-color 180ms ease;
}

.event-contact-form-section #gform_wrapper_2 .gfield:focus-within::after {
  height: 2px;
  background: #fff;
}

.event-contact-form-section #gform_wrapper_2 input::placeholder,
.event-contact-form-section #gform_wrapper_2 textarea::placeholder {
  color: rgba(255, 255, 255, 0.7);
  opacity: 1;
  font-size: 1.5rem;
}

.event-contact-form-section #gform_wrapper_2 .gform_footer {
  margin-top: 8px;
}

.event-contact-form-section #gform_wrapper_2 .gform_footer input[type="submit"],
.event-contact-form-section #gform_wrapper_2 .gform_button {
  max-width: 337px;
  width: fit-content;
  background: #fff;
  color: var(--global-color-blue);
  border: none;
  padding: 16px 20px;
  border-radius: 0;
  font-weight: 700;
  letter-spacing: 0.02em;
  cursor: pointer;
  font-size: 1.2rem;
  text-transform: uppercase;
  transition: background-color 150ms ease, transform 120ms ease;
}

.event-contact-form-section #gform_wrapper_2 .gform_validation_container {
  display: none !important;
}

.event-contact-form-section #gform_wrapper_2 .gfield_error::after {
  background: #ff6b6b;
}

.event-contact-form-section #gform_wrapper_2 .validation_message {
  color: #ff6b6b;
  font-size: 1.2rem;
  margin-top: 4px;
}

.event-contact-form-section #gform_wrapper_2 .gform_required_legend {
  display: none;
}

.event-contact-form-section h6 {
  color: #fff;
}

.event-contact-form-section small {
  display: block;
  max-width: 1300px;
  margin: 24px auto 0;
  padding: 0 24px;
  font-size: 1.1rem;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.9);
  text-align: left;
  font-weight: 400;
}

@media (max-width: 767.98px) {
  .event-contact-form-title {
    font-size: 2.4rem;
  }

  .event-contact-form-inner {
    padding: 0 12px;
  }
}
 