/**
 * Elementor + Driftwood theme layout compatibility.
 *
 * @package Driftwood
 */

body.driftwood-elementor-header {
  padding-top: 0;
}

body.driftwood-elementor-header:has(.site-header.is-scrolled.is-compact),
body.driftwood-elementor-header.has-top-bar {
  padding-top: 0;
}

.elementor-location-header {
  position: relative;
  z-index: 200;
  width: 100%;
}

.elementor-location-footer {
  width: 100%;
}

.driftwood-top-bar-wrap {
  position: relative;
  z-index: 201;
}

body.driftwood-elementor-header.has-top-bar .driftwood-top-bar-wrap + .elementor-location-header {
  margin-top: 0;
}

body.driftwood-elementor-header.has-top-bar {
  padding-top: calc(var(--top-bar-height, 2.25rem) + var(--top-bar-tear-height, 12px));
}

body.elementor-template-canvas,
body.driftwood-elementor-layout-elementor_canvas {
  padding-top: 0 !important;
}

body.elementor-template-canvas .site-header-shell,
body.elementor-template-canvas .driftwood-top-bar-wrap,
body.driftwood-elementor-layout-elementor_canvas .site-header-shell {
  display: none;
}

body.elementor-template-full-width main#main,
body.driftwood-elementor-layout-elementor_full_width main#main {
  max-width: none;
  padding-bottom: 0;
}

body.admin-bar.driftwood-elementor-header .elementor-location-header {
  top: 32px;
}

@media (max-width: 782px) {
  body.admin-bar.driftwood-elementor-header .elementor-location-header {
    top: 46px;
  }
}

.driftwood-elementor-content {
  padding-bottom: 0;
}

.driftwood-elementor-content .elementor {
  width: 100%;
}

.driftwood-elementor-page .entry-content > * + * {
  margin-top: 0;
}

.elementor-section.elementor-section-boxed > .elementor-container {
  max-width: var(--max-width, 72rem);
}

.elementor-widget-theme-site-logo .custom-logo,
.elementor-widget-theme-site-logo img {
  max-height: var(--logo-max-height, 40px);
  width: auto;
}

.elementor-widget-theme-site-title .elementor-heading-title,
.elementor-widget-theme-page-title .elementor-heading-title,
.elementor-widget-theme-post-title .elementor-heading-title,
.elementor-widget-theme-archive-title .elementor-heading-title {
  font-family: var(--font-serif);
  font-weight: 500;
  line-height: var(--leading-tight);
  color: var(--color-ink);
}

.elementor-widget-theme-post-content,
.elementor-widget-theme-post-excerpt,
.elementor-widget-text-editor {
  font-family: var(--font-sans);
  color: var(--color-ink);
  line-height: var(--leading-normal);
}

.elementor-nav-menu--main .elementor-item,
.elementor-widget-nav-menu .elementor-item {
  font-family: var(--font-sans);
  font-size: var(--text-sm);
  font-weight: 500;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--color-ink-muted);
}

.elementor-nav-menu--main .elementor-item:hover,
.elementor-nav-menu--main .elementor-item:focus,
.elementor-nav-menu--main .elementor-item.elementor-item-active,
.elementor-nav-menu--main .current-menu-item > .elementor-item {
  color: var(--color-sage);
}

.elementor-button,
.elementor-widget-button .elementor-button {
  font-family: var(--font-sans);
  font-size: var(--text-sm);
  font-weight: 500;
  letter-spacing: 0.02em;
  border-radius: var(--radius-sm);
}

.elementor-button:not(.elementor-button-link) {
  background-color: var(--color-terracotta);
  color: var(--color-ink);
  border: 1px solid var(--color-terracotta);
}

.elementor-button:not(.elementor-button-link):hover,
.elementor-button:not(.elementor-button-link):focus {
  background-color: var(--color-terracotta-dark);
  border-color: var(--color-terracotta-dark);
  color: var(--color-ink);
}

.elementor-widget-text-editor a,
.elementor-widget-theme-post-content a {
  color: var(--color-sage);
}

.elementor-widget-theme-post-excerpt {
  color: var(--color-ink-muted);
}

.elementor-widget-theme-post-featured-image img {
  border-radius: var(--radius-sm);
}

body.driftwood-elementor-page:not(.elementor-template-canvas) {
  background-color: var(--color-sand);
}

.homepage-elementor-zone {
  padding-block: var(--space-6);
}

.homepage-elementor-zone .driftwood-elementor-content {
  width: 100%;
}

.homepage-elementor-zone .elementor-post__title,
.homepage-elementor-zone .elementor-post__title a,
.homepage-elementor-zone .elementor-widget-heading .elementor-heading-title {
  color: var(--color-ink);
}

.homepage-elementor-zone .elementor-post__excerpt,
.homepage-elementor-zone .elementor-post__meta-data,
.homepage-elementor-zone .elementor-widget-text-editor {
  color: var(--color-ink-muted);
}

.homepage-elementor-zone .elementor-post__read-more {
  color: var(--color-sage);
}

.homepage-elementor-zone .elementor-widget-posts .elementor-post,
.homepage-elementor-zone .elementor-posts-container .elementor-post {
  border-radius: var(--radius-sm);
}

body.elementor-template-canvas .driftwood-theme {
  background-image: none;
}
