/*
Theme Name:   Hello Elementor Child
Theme URI:    https://theprimefallacy.com
Description:  Child theme of Hello Elementor - custom CSS and PHP snippets for theprimefallacy.com.
Author:       Aaron Lytal
Template:     hello-elementor
Version:      1.0.7
Text Domain:  hello-elementor-child
*/

/* ------------------------------------------------------------------ */
/* Add custom CSS below. Elementor design changes are made in the      */
/* Elementor editor; use this file for site-wide CSS tweaks/overrides. */
/* ------------------------------------------------------------------ */

/* WEB-205: global header accessibility and dropdown styling. */
html body.elementor-page-141 > header.elementor-location-header,
html body.elementor-page-141 .elementor-location-header,
html body.elementor-page-141 [data-elementor-type="header"] {
  display: block !important;
}

html body.elementor-page-141 header.dw-header {
  display: none !important;
}

.elementor-location-header {
  background-color: #333333 !important;
}

.elementor-location-header .elementor-nav-menu--main .elementor-item,
.elementor-location-header .elementor-nav-menu--main .elementor-sub-item,
.elementor-location-header .elementor-nav-menu--dropdown a,
.elementor-location-header .elementor-nav-menu--dropdown .elementor-sub-item {
  color: #f8fafc !important;
}

.elementor-location-header .elementor-nav-menu--main .sub-menu,
.elementor-location-header .elementor-nav-menu--dropdown {
  background-color: #333333 !important;
}

.elementor-location-header .elementor-nav-menu--main .sub-menu a:hover,
.elementor-location-header .elementor-nav-menu--main .sub-menu a:focus,
.elementor-location-header .elementor-nav-menu--main .sub-menu a.highlighted,
.elementor-location-header .elementor-nav-menu--dropdown a:hover,
.elementor-location-header .elementor-nav-menu--dropdown a:focus,
.elementor-location-header .elementor-nav-menu--dropdown a.highlighted,
.elementor-location-header .elementor-nav-menu--dropdown .elementor-item-active {
  color: #ffffff !important;
  background-color: #111827 !important;
}

.elementor-location-header .elementor-menu-toggle {
  color: #f8fafc !important;
}

.elementor-location-header .elementor-button,
.elementor-location-header .elementor-button-link {
  color: #0f1115 !important;
}

@media (min-width: 768px) {
  .elementor-location-header .elementor-nav-menu--main .menu-item-has-children {
    position: relative !important;
  }

  .elementor-location-header .elementor-nav-menu--main .menu-item-has-children > .sub-menu {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    z-index: 9999 !important;
    min-width: 220px !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.35) !important;
  }

  .elementor-location-header .elementor-nav-menu--main .menu-item-has-children:hover > .sub-menu,
  .elementor-location-header .elementor-nav-menu--main .menu-item-has-children:focus-within > .sub-menu {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: none !important;
  }

  .elementor-location-header .elementor-nav-menu--main .tpf-mobile-buy-menu-item {
    display: none !important;
  }
}

@media (max-width: 767px) {
  .elementor-location-header .elementor-button[href*="/buy-on-amazon/"] {
    display: none !important;
  }

  .elementor-location-header .elementor-nav-menu--dropdown .tpf-mobile-buy-menu-item > a {
    color: #0f1115 !important;
    background-color: #22d3ee !important;
    font-weight: 700 !important;
  }
}

/* WEB-205: release-date post layout rules. */
body.postid-125 .elementor-widget-post-info,
body.postid-125 .elementor-element.elementor-element-1068b51 {
  display: none !important;
}

body.postid-125 .elementor-element.elementor-element-093755b,
body.postid-125 .elementor-widget-theme-post-content,
body.postid-125 .elementor-widget-theme-post-content > .elementor-widget-container,
body.postid-125 .elementor-125,
body.postid-125 .elementor-125 .elementor-element-tpfrel01,
body.postid-125 .elementor-125 .elementor-widget-html,
body.postid-125 .tpf-release-date {
  width: 100% !important;
  max-width: 100% !important;
  flex-basis: 100% !important;
}

body.postid-125 .elementor-element.elementor-element-093755b {
  --width: 100% !important;
  --container-widget-width: 100% !important;
  flex-grow: 1 !important;
}

/* WEB-205: release-date wide-layout rules. */
@media (min-width: 1025px) {
  body.postid-125 .elementor-140 .elementor-element.elementor-element-43ed277 {
    --content-width: min(1760px, calc(100vw - 64px)) !important;
  }

  body.postid-125 .elementor-140 .elementor-element.elementor-element-43ed277 > .e-con-inner {
    width: min(1760px, calc(100vw - 64px)) !important;
    max-width: min(1760px, calc(100vw - 64px)) !important;
  }

  body.postid-125 .elementor-140 .elementor-element.elementor-element-1c9d4d7 {
    width: 100% !important;
    max-width: 100% !important;
  }

  body.postid-125 .tpf-release-date__wrap {
    width: min(1360px, calc(100% - 72px)) !important;
    max-width: min(1360px, calc(100vw - 72px)) !important;
  }
}

@media (min-width: 1500px) {
  body.postid-125 .tpf-release-date__hero-grid {
    grid-template-columns: minmax(0, 1fr) minmax(260px, 330px) !important;
  }

  body.postid-125 .tpf-release-date__cover {
    max-width: 330px !important;
  }
}

/* WEB-205: release-date top-spacing rules. */
body.postid-125 .elementor-140 .elementor-element.elementor-element-f44361e {
  display: none !important;
}

body.postid-125 .elementor-140 .elementor-element.elementor-element-43ed277,
body.postid-125 .elementor-140 .elementor-element.elementor-element-43ed277 > .e-con-inner {
  --padding-top: clamp(32px, 3vw, 48px) !important;
  --gap: 0px !important;
  --row-gap: 0px !important;
  gap: 0 !important;
  row-gap: 0 !important;
}

/* Codex 2026-07-08: homepage mobile hero overflow fix. */
@media (max-width: 520px) {
  html,
  body {
    overflow-x: hidden;
  }

  .tpf-refresh .tpf-wrap,
  .tpf-refresh .tpf-hero-inner {
    width: calc(100% - 24px) !important;
    max-width: calc(100vw - 24px) !important;
  }

  .tpf-refresh .tpf-hero-copy,
  .tpf-refresh .tpf-hero-lede,
  .tpf-refresh .tpf-hero-actions {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .tpf-refresh .tpf-hero-lede {
    overflow-wrap: anywhere;
  }

  .tpf-refresh .tpf-hero-actions {
    align-items: stretch !important;
  }

  .tpf-refresh .tpf-hero-actions .tpf-button {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
}

/* WEB-403: mobile touch targets and keyboard focus. */
.elementor-location-header .elementor-menu-toggle {
  box-sizing: border-box !important;
  min-width: 44px !important;
  min-height: 44px !important;
  align-items: center !important;
  justify-content: center !important;
}

.elementor-location-header .elementor-nav-menu--dropdown a {
  box-sizing: border-box !important;
  min-height: 44px !important;
  align-items: center !important;
}

.tpf-refresh .tpf-preview-link {
  box-sizing: border-box !important;
  display: inline-flex !important;
  min-height: 44px !important;
  align-items: center !important;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

.elementor-location-footer .elementor-icon-list-item > a {
  box-sizing: border-box !important;
  min-height: 44px !important;
  align-items: center !important;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

.elementor-location-footer p a {
  box-sizing: border-box !important;
  display: inline-flex !important;
  min-height: 44px !important;
  align-items: center !important;
}

body :where(a[href], button, input, select, textarea, summary, [role="button"], [tabindex]:not([tabindex="-1"])):focus-visible {
  outline: 3px solid #f8fafc !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 6px #0891b2 !important;
}

/* WEB-404: keyboard navigation and form announcements. */
@media (max-width: 767px) {
  .elementor-location-header .elementor-nav-menu--dropdown[aria-hidden="false"] {
    display: block !important;
    max-height: 1000vmax !important;
    overflow: visible !important;
    transform: scaleY(1) !important;
  }
}

.tpf-form-status {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.tpf-field-error {
  display: block;
  width: 100%;
  margin-top: 6px;
  color: #ffb4b4;
  font-size: 0.9rem;
  font-weight: 650;
  line-height: 1.4;
}

.elementor-form [aria-invalid="true"] {
  border-color: #ff6b6b !important;
}
