/* Start custom CSS */.header-section {
    margin-bottom: -110px;
}

/* ================= MARQUEE — single source of truth ================= */

.elementor .marquee {
  --marquee-gap: clamp(1.5rem, 4vw, 3.25rem);
  --duration: 45s;
  display: block !important;      /* stops the track becoming a flex item */
  overflow: hidden !important;
}

.elementor .marquee__track {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  flex: 0 0 auto !important;      /* survives a flex parent regardless */
  width: max-content !important;
  max-width: none !important;
  min-width: 0 !important;
  gap: var(--marquee-gap) !important;
}

.elementor .marquee__group {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
  gap: var(--marquee-gap) !important;
}

/* text row */
.elementor .marquee__item {
  flex: 0 0 auto !important;
  width: auto !important;
  white-space: nowrap;
}

/* image rows — needs .elementor or it loses to the rule above */
.elementor .marquee--cards { --marquee-gap: clamp(1rem, 2.2vw, 2rem); }

.elementor .marquee__card {
  display: block;
  flex: 0 0 auto !important;
  width: clamp(150px, 18vw, 268px) !important;
  aspect-ratio: 268 / 278;
  border-radius: clamp(12px, 1.4vw, 20px);
  object-fit: cover;
}

.elementor .marquee[data-marquee="ready"] .marquee__track {
  animation: marquee-scroll var(--duration) linear infinite;
}

@keyframes marquee-scroll {
  from { transform: translateX(0); }
  to   { transform: translateX(calc(-50% - var(--marquee-gap) / 2)); }
}

@media (prefers-reduced-motion: reduce) {
  .elementor .marquee__track { animation: none !important; }
  .elementor .marquee__group[aria-hidden="true"] { display: none; }
  .elementor .marquee { overflow-x: auto !important; }
}


/* ---- Form checkbox / acceptance field ---- */

.elementor .elementor-field-option {
  display: flex;
  align-items: flex-start;
  gap: .625rem;
}

.elementor .elementor-field-option input[type="checkbox"] {
  -webkit-appearance: none;
          appearance: none;
  flex: 0 0 auto;
  width: 18px !important;
  height: 18px !important;
  padding: 0 !important;            /* kit forces 14px/16px for text fields */
  margin: 2px 0 0;
  box-sizing: border-box;
  border: 1px solid rgba(34, 26, 15, .5);
  border-radius: 4px;
  background-color: #FFFFFF;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 76%;
  cursor: pointer;
  transition: background-color .15s ease, border-color .15s ease;
}

.elementor .elementor-field-option input[type="checkbox"]:hover {
  border-color: var(--e-global-color-secondary, #B89B7B);
}

.elementor .elementor-field-option input[type="checkbox"]:checked {
  background-color: var(--e-global-color-primary, #221A0F) !important;
  border-color: var(--e-global-color-primary, #221A0F);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-6' fill='none' stroke='%23FFFFFF' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.elementor .elementor-field-option input[type="checkbox"]:focus-visible {
  outline: 2px solid var(--e-global-color-accent, #E5C27E);
  outline-offset: 2px;
}

.elementor .elementor-field-option label {
  margin: 0;
  cursor: pointer;
}/* End custom CSS */