/* ==========================================================================
   AVRA - footer (part 4)
   ========================================================================== */

.avra-footer { background: #fff; }

.avra-footer__banner { width: 100%; line-height: 0; }
.avra-footer__banner img { width: 100%; height: 400px; object-fit: cover; display: block; }

.avra-footer__main { padding: 56px var(--avra-gutter) 32px; }

.avra-footer__cols { align-items: flex-start; }
.avra-footer__brand img,
.avra-footer__brand svg { display: block; width: 124px; height: 44px; }

.avra-footer__label {
  margin: 0;
  font-family: var(--avra-display);
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 1.12px;
  text-transform: uppercase;
  color: var(--avra-umbra);
  opacity: .8;
}

/* Footer link columns use the native WordPress Menu widget. */
.avra-footer__col .elementor-nav-menu--main .elementor-item {
  padding: 0 !important;
  font-family: var(--avra-body);
  font-size: 16px;
  font-weight: 350;
  line-height: 20px;
  letter-spacing: .16px;
  color: var(--avra-umbra);
}
.avra-footer__col .elementor-nav-menu--main .elementor-item:hover { opacity: .6; }
.avra-footer__col .elementor-nav-menu--main > ul { gap: 12px; }

.avra-footer__blurb {
  margin: 0;
  font-family: var(--avra-body);
  font-size: 16px;
  font-weight: 350;
  line-height: 20px;
  letter-spacing: .16px;
  color: var(--avra-umbra);
}

.avra-footer__copy p,
.avra-footer__copy,
.avra-footer__contact p,
.avra-footer__contact a {
  font-family: var(--avra-body);
  font-size: 16px;
  font-weight: 350;
  line-height: 20px;
  letter-spacing: .16px;
  color: var(--avra-grey);
  margin: 0;
  text-decoration: none;
}
.avra-footer__contact a:hover { opacity: .7; color: var(--avra-grey); }

/* ---- Newsletter form (Elementor Pro form widget, restyled) ---------------- */

.avra-newsletter .elementor-form-fields-wrapper { position: relative; gap: 0; }
.avra-newsletter .elementor-field-group { margin-bottom: 0; padding: 0; }
.avra-newsletter input[type="email"] {
  width: 100%;
  height: 46px;
  border: 1px solid var(--avra-border);
  border-radius: 4px;
  background: #fff;
  padding: 12px 130px 12px 16px;
  font-family: var(--avra-body);
  font-size: 16px;
  font-weight: 350;
  line-height: 20px;
  letter-spacing: .32px;
  color: var(--avra-grey);
  box-shadow: none;
}
.avra-newsletter input[type="email"]::placeholder { color: var(--avra-grey); opacity: .5; }
.avra-newsletter input[type="email"]:focus { outline: 0; border-color: var(--avra-umbra); }

.avra-newsletter .elementor-field-group-submit,
.avra-newsletter .e-form__buttons {
  position: absolute;
  top: 0;
  right: 16px;
  height: 46px;
  width: auto;
  display: flex;
  align-items: center;
  padding: 0;
  margin: 0;
  z-index: 2;
}
.avra-newsletter button[type="submit"],
.avra-newsletter button[type="submit"]:hover,
.avra-newsletter button[type="submit"]:focus {
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  min-width: 0;
  font-family: var(--avra-display);
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  text-transform: uppercase;
  color: var(--avra-umbra) !important;
  opacity: .7;
  cursor: pointer;
}
.avra-newsletter button[type="submit"]:hover { opacity: 1; }
.avra-newsletter button[type="submit"] .elementor-button-icon { display: none; }

.avra-newsletter .elementor-field-type-acceptance { margin-top: 16px; }
.avra-newsletter .elementor-field-option { display: flex; align-items: flex-start; gap: 16px; }
.avra-newsletter .elementor-field-option input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  margin: 2px 0 0;
  border: 1px solid var(--avra-border);
  border-radius: 4px;
  background: #fff;
  cursor: pointer;
  position: relative;
}
.avra-newsletter .elementor-field-option input[type="checkbox"]:checked { background: var(--avra-umbra); border-color: var(--avra-umbra); }
.avra-newsletter .elementor-field-option input[type="checkbox"]:checked::after {
  content: '';
  position: absolute;
  left: 4px;
  top: 1px;
  width: 5px;
  height: 9px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
.avra-newsletter .elementor-field-option label {
  font-family: var(--avra-body);
  font-size: 12px;
  font-weight: 350;
  line-height: 18px;
  letter-spacing: .12px;
  color: var(--avra-grey);
}

/* ---- Mobile -------------------------------------------------------------- */

@media (max-width: 1024px) {
  .avra-footer__banner img { height: 300px; }
  .avra-footer__main { padding: 40px var(--avra-gutter) 56px; }
  .avra-footer__copy,
  .avra-footer__copy p { font-size: 14px; line-height: 16px; letter-spacing: .14px; text-align: center; }
  .avra-newsletter input[type="email"] { padding-right: 120px; }
}

/* fixes */
.avra-header__right { width: auto !important; flex: 0 0 auto; }
.avra-footer__contact a { color: var(--avra-grey) !important; text-decoration: none; }
.avra-footer__contact a:hover { color: var(--avra-umbra) !important; }
.avra-footer__copy p { white-space: nowrap; margin: 0; }
.avra-footer__contact p { margin: 0; white-space: nowrap; }
.avra-footer__blurb p { margin: 0; }
@media (max-width: 1024px) { .avra-footer__copy p { white-space: normal; } }
.avra-footer__contact > *:last-child { line-height: 0; }

/* fixes 2 */
.avra-footer__bottom > .elementor-element { width: auto; flex: 0 0 auto; }
.avra-footer__contact { justify-content: flex-end; }
.avra-testimonials__author p,
.avra-testimonials figcaption,
.avra-testimonials blockquote { font-style: normal; margin-inline: 0; }
.avra-testimonials blockquote { border: 0; padding: 0; }
@media (max-width: 1024px) {
  .avra-footer__bottom > .elementor-element { width: 100%; }
  .avra-footer__contact { justify-content: space-between; }
}

/* fixes 3 */
.elementor-element-ftrbrand { align-items: flex-start; }
.elementor-element-ftrlogo { text-align: left; }
.elementor-element-ftrlogo .elementor-widget-container { text-align: left; }

/* fixes 4 */
@media (max-width: 1024px) {
  .elementor-element-ftrnavrow { flex-wrap: nowrap !important; gap: 34px; }
  .elementor-element-ftrnav, .elementor-element-ftrinfo { width: 174px !important; flex: 0 0 174px !important; }
  .avra-footer__copy, .avra-footer__copy p { text-align: center !important; }
  .avra-footer__contact { flex-wrap: wrap; row-gap: 40px; column-gap: 8px; }
  .avra-footer__contact > .elementor-element:nth-child(4) { display: none; }
  .avra-footer__contact > .elementor-element:nth-child(5) { flex: 0 0 100%; width: 100%; }
}

/* banner scope */
/* Only the homepage footer carries the image band. Elsewhere Figma shows a
   524px footer with no banner and 56px of bottom padding. */
body:not(.home) .avra-footer__banner { display: none; }
body:not(.home) .avra-footer__main { padding-bottom: 56px; }
