/* =========================================================
   ACE MARKETS — CLEAN PREMIUM PAGE TEMPLATE
   File: page-style.css
   Scope: Standard pages only
   Excludes: homepage + tool pages
   ========================================================= */

/* =========================================================
   01. Page variables
   ========================================================= */

body.page:not(.home):not(.ace-tool-page) {
  --page-bg: #f4f7f6;
  --page-card: #ffffff;
  --page-ink: #111827;
  --page-text: #344054;
  --page-muted: #667085;
  --page-line: #e6ebef;
  --page-green: #00c853;
  --page-green-dark: #008f3d;
  --page-navy: #151d2b;

  --ace-page-hero-image-1: url("https://s6e.2fa.myftpupload.com/wp-content/uploads/2026/03/Forex-Oil-Energy-Gold-Silver-Trading.jpg");
  --ace-page-hero-image-2: url("https://s6e.2fa.myftpupload.com/wp-content/uploads/2026/02/Trade-Forex-and-Oil-New-Zealand.jpg");
  --ace-page-hero-image-3: url("https://s6e.2fa.myftpupload.com/wp-content/uploads/2026/02/Trade-Gold-XAUUSD-New-Zealand.jpg");

  background: var(--page-bg) !important;
  color: var(--page-text) !important;
}

body.page:not(.home):not(.ace-tool-page) *,
body.page:not(.home):not(.ace-tool-page) *::before,
body.page:not(.home):not(.ace-tool-page) *::after {
  box-sizing: border-box;
}

/* =========================================================
   02. Page hero
   ========================================================= */

body.page:not(.home):not(.ace-tool-page) .page-header,
body.page:not(.home):not(.ace-tool-page) .page-header.header-filter,
body.page:not(.home):not(.ace-tool-page) .page-header.header-small,
body.page:not(.home):not(.ace-tool-page) .header-filter,
body.page:not(.home):not(.ace-tool-page) .title-header {
  min-height: 430px !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
  display: flex !important;
  align-items: center !important;
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
  background-image:
    linear-gradient(
      90deg,
      rgba(4, 10, 7, 0.62) 0%,
      rgba(4, 10, 7, 0.38) 48%,
      rgba(4, 10, 7, 0.66) 100%
    ),
    var(--ace-page-hero-image-1) !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-color: #06100b !important;
  animation: acePageHeroCarousel 24s infinite !important;
}

body.page:not(.home):not(.ace-tool-page) .page-header::before,
body.page:not(.home):not(.ace-tool-page) .page-header.header-filter::before,
body.page:not(.home):not(.ace-tool-page) .page-header.header-small::before,
body.page:not(.home):not(.ace-tool-page) .header-filter::before,
body.page:not(.home):not(.ace-tool-page) .title-header::before {
  content: none !important;
}

body.page:not(.home):not(.ace-tool-page) .page-header::after,
body.page:not(.home):not(.ace-tool-page) .page-header.header-filter::after,
body.page:not(.home):not(.ace-tool-page) .page-header.header-small::after,
body.page:not(.home):not(.ace-tool-page) .header-filter::after,
body.page:not(.home):not(.ace-tool-page) .title-header::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  height: 1px !important;
  z-index: 1 !important;
  background: rgba(0, 200, 83, 0.42) !important;
  pointer-events: none !important;
}

body.page:not(.home):not(.ace-tool-page) .page-header .container,
body.page:not(.home):not(.ace-tool-page) .header-filter .container,
body.page:not(.home):not(.ace-tool-page) .title-header .container {
  width: calc(100% - 72px) !important;
  max-width: 1240px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  position: relative !important;
  z-index: 3 !important;
}

body.page:not(.home):not(.ace-tool-page) .page-header .row,
body.page:not(.home):not(.ace-tool-page) .header-filter .row,
body.page:not(.home):not(.ace-tool-page) .title-header .row {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.page:not(.home):not(.ace-tool-page) .page-header .col-md-10,
body.page:not(.home):not(.ace-tool-page) .page-header .col-md-offset-1,
body.page:not(.home):not(.ace-tool-page) .header-filter .col-md-10,
body.page:not(.home):not(.ace-tool-page) .header-filter .col-md-offset-1,
body.page:not(.home):not(.ace-tool-page) .title-header .col-md-10,
body.page:not(.home):not(.ace-tool-page) .title-header .col-md-offset-1 {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  float: none !important;
}

body.page:not(.home):not(.ace-tool-page) .page-header h1,
body.page:not(.home):not(.ace-tool-page) .page-header .hestia-title,
body.page:not(.home):not(.ace-tool-page) .hestia-title,
body.page:not(.home):not(.ace-tool-page) .title-header h1 {
  max-width: 850px !important;
  margin: 0 !important;
  color: #ffffff !important;
  text-align: left !important;
  font-size: clamp(42px, 4.5vw, 64px) !important;
  line-height: 1.04 !important;
  font-weight: 720 !important;
  letter-spacing: -0.045em !important;
  text-shadow: 0 10px 28px rgba(0, 0, 0, 0.28) !important;
}

body.page:not(.home):not(.ace-tool-page) .page-header h1::after,
body.page:not(.home):not(.ace-tool-page) .page-header .hestia-title::after,
body.page:not(.home):not(.ace-tool-page) .hestia-title::after,
body.page:not(.home):not(.ace-tool-page) .title-header h1::after {
  content: "" !important;
  display: block !important;
  width: 82px !important;
  height: 3px !important;
  margin-top: 22px !important;
  border-radius: 999px !important;
  background: var(--page-green) !important;
}

/* =========================================================
   03. Hero carousel
   ========================================================= */

@keyframes acePageHeroCarousel {
  0%, 30% {
    background-image:
      linear-gradient(90deg, rgba(4, 10, 7, 0.62) 0%, rgba(4, 10, 7, 0.38) 48%, rgba(4, 10, 7, 0.66) 100%),
      var(--ace-page-hero-image-1);
  }

  33%, 63% {
    background-image:
      linear-gradient(90deg, rgba(4, 10, 7, 0.62) 0%, rgba(4, 10, 7, 0.38) 48%, rgba(4, 10, 7, 0.66) 100%),
      var(--ace-page-hero-image-2);
  }

  66%, 100% {
    background-image:
      linear-gradient(90deg, rgba(4, 10, 7, 0.62) 0%, rgba(4, 10, 7, 0.38) 48%, rgba(4, 10, 7, 0.66) 100%),
      var(--ace-page-hero-image-3);
  }
}

/* =========================================================
   04. Main page shell
   ========================================================= */

body.page:not(.home):not(.ace-tool-page) .main,
body.page:not(.home):not(.ace-tool-page) .main-raised,
body.page:not(.home):not(.ace-tool-page) .blog-post,
body.page:not(.home):not(.ace-tool-page) article,
body.page:not(.home):not(.ace-tool-page) .page-content,
body.page:not(.home):not(.ace-tool-page) .content-area,
body.page:not(.home):not(.ace-tool-page) .entry-content {
  background: transparent !important;
}

body.page:not(.home):not(.ace-tool-page) .main-raised {
  width: calc(100% - 64px) !important;
  max-width: 1320px !important;
  margin: 64px auto 92px !important;
  padding: 72px 0 86px !important;
  position: relative !important;
  z-index: 10 !important;
  border-radius: 30px !important;
  background: #ffffff !important;
  box-shadow: 0 20px 54px rgba(17, 24, 39, 0.10) !important;
  overflow: hidden !important;
}

body.page:not(.home):not(.ace-tool-page) .blog-post .container,
body.page:not(.home):not(.ace-tool-page) .section .container,
body.page:not(.home):not(.ace-tool-page) .entry-content {
  width: 100% !important;
  max-width: 1120px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.page:not(.home):not(.ace-tool-page) .blog-post .container,
body.page:not(.home):not(.ace-tool-page) .section .container {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.page:not(.home):not(.ace-tool-page) .section,
body.page:not(.home):not(.ace-tool-page) .section-text,
body.page:not(.home):not(.ace-tool-page) .blog-post {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  text-align: left !important;
}

body.page:not(.home):not(.ace-tool-page) .blog-post .row,
body.page:not(.home):not(.ace-tool-page) .section-text .row {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.page:not(.home):not(.ace-tool-page) .blog-post .col-md-8,
body.page:not(.home):not(.ace-tool-page) .blog-post .col-md-offset-2,
body.page:not(.home):not(.ace-tool-page) .section-text .col-md-8,
body.page:not(.home):not(.ace-tool-page) .section-text .col-md-offset-2,
body.page:not(.home):not(.ace-tool-page) .page-content-wrap {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  float: none !important;
}

body.page:not(.home):not(.ace-tool-page) .entry-content {
  padding: 0 !important;
}

/* =========================================================
   05. Typography and rhythm
   ========================================================= */

body.page:not(.home):not(.ace-tool-page) .entry-content h1,
body.page:not(.home):not(.ace-tool-page) .entry-content h2,
body.page:not(.home):not(.ace-tool-page) .entry-content h3,
body.page:not(.home):not(.ace-tool-page) .entry-content h4,
body.page:not(.home):not(.ace-tool-page) .entry-content h5,
body.page:not(.home):not(.ace-tool-page) .entry-content h6 {
  max-width: 920px !important;
  color: var(--page-ink) !important;
  font-weight: 700 !important;
  letter-spacing: -0.032em !important;
  line-height: 1.12 !important;
  text-align: left !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.page:not(.home):not(.ace-tool-page) .entry-content h1 {
  font-size: clamp(38px, 4vw, 54px) !important;
  margin: 0 0 16px !important;
}

body.page:not(.home):not(.ace-tool-page) .entry-content h2 {
  font-size: clamp(32px, 3.2vw, 44px) !important;
  margin: 58px 0 12px !important;
  padding-top: 0 !important;
}

body.page:not(.home):not(.ace-tool-page) .entry-content h3 {
  font-size: clamp(24px, 2.2vw, 30px) !important;
  margin: 28px 0 8px !important;
}

body.page:not(.home):not(.ace-tool-page) .entry-content h4 {
  font-size: 20px !important;
  margin: 24px 0 8px !important;
}

body.page:not(.home):not(.ace-tool-page) .entry-content p {
  max-width: 920px !important;
  margin: 0 0 14px !important;
  color: var(--page-text) !important;
  font-size: 17px !important;
  font-weight: 400 !important;
  line-height: 1.7 !important;
  text-align: left !important;
}

body.page:not(.home):not(.ace-tool-page) .entry-content h2 + p {
  max-width: 940px !important;
  margin-bottom: 22px !important;
  color: var(--page-muted) !important;
  font-size: 17.5px !important;
  line-height: 1.72 !important;
}

body.page:not(.home):not(.ace-tool-page) .entry-content h3 + p {
  margin-top: 0 !important;
  margin-bottom: 16px !important;
}

body.page:not(.home):not(.ace-tool-page) .entry-content h2 + p + h3 {
  margin-top: 22px !important;
}

body.page:not(.home):not(.ace-tool-page) .entry-content p + h3,
body.page:not(.home):not(.ace-tool-page) .entry-content ul + h3,
body.page:not(.home):not(.ace-tool-page) .entry-content ol + h3 {
  margin-top: 30px !important;
}

body.page:not(.home):not(.ace-tool-page) .entry-content p + h2,
body.page:not(.home):not(.ace-tool-page) .entry-content ul + h2,
body.page:not(.home):not(.ace-tool-page) .entry-content ol + h2,
body.page:not(.home):not(.ace-tool-page) .entry-content .wp-block-columns + h2 {
  margin-top: 66px !important;
  padding-top: 28px !important;
  border-top: 1px solid rgba(17, 24, 39, 0.08) !important;
}

body.page:not(.home):not(.ace-tool-page) .entry-content > h2:not(:first-child)::before {
  content: "" !important;
  display: block !important;
  width: 64px !important;
  height: 3px !important;
  margin-bottom: 14px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, var(--page-green), #22d3ee) !important;
}

body.page:not(.home):not(.ace-tool-page) .entry-content strong {
  color: var(--page-ink) !important;
  font-weight: 750 !important;
}

/* Remove accidental centre alignment */
body.page:not(.home):not(.ace-tool-page) .entry-content .has-text-align-center,
body.page:not(.home):not(.ace-tool-page) .entry-content .elementor-align-center,
body.page:not(.home):not(.ace-tool-page) .entry-content [style*="text-align:center"],
body.page:not(.home):not(.ace-tool-page) .entry-content [style*="text-align: center"] {
  text-align: left !important;
}

/* =========================================================
   06. Links and buttons
   ========================================================= */

body.page:not(.home):not(.ace-tool-page) .entry-content a {
  color: var(--page-green-dark) !important;
  font-weight: 650 !important;
  text-decoration: none !important;
}

body.page:not(.home):not(.ace-tool-page) .entry-content a:hover {
  color: var(--page-green) !important;
  text-decoration: underline !important;
}

body.page:not(.home):not(.ace-tool-page) .entry-content .wp-block-buttons {
  display: flex !important;
  gap: 14px !important;
  flex-wrap: wrap !important;
  margin: 32px 0 44px !important;
}

body.page:not(.home):not(.ace-tool-page) .entry-content .wp-block-button__link,
body.page:not(.home):not(.ace-tool-page) .entry-content .btn,
body.page:not(.home):not(.ace-tool-page) .entry-content a.btn,
body.page:not(.home):not(.ace-tool-page) .entry-content a.button,
body.page:not(.home):not(.ace-tool-page) .entry-content button:not(.navbar-toggle):not(.menu-toggle),
body.page:not(.home):not(.ace-tool-page) .entry-content input[type="submit"] {
  min-height: 48px !important;
  padding: 0 26px !important;
  border-radius: 999px !important;
  background: var(--page-navy) !important;
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 750 !important;
  line-height: 1 !important;
  box-shadow: 0 10px 24px rgba(17, 24, 39, 0.16) !important;
}

body.page:not(.home):not(.ace-tool-page) .entry-content .wp-block-button__link:hover,
body.page:not(.home):not(.ace-tool-page) .entry-content .btn:hover,
body.page:not(.home):not(.ace-tool-page) .entry-content a.btn:hover,
body.page:not(.home):not(.ace-tool-page) .entry-content a.button:hover,
body.page:not(.home):not(.ace-tool-page) .entry-content button:not(.navbar-toggle):not(.menu-toggle):hover,
body.page:not(.home):not(.ace-tool-page) .entry-content input[type="submit"]:hover {
  background: var(--page-green) !important;
  color: #061008 !important;
  text-decoration: none !important;
}

/* =========================================================
   07. Intro row
   ========================================================= */

body.page:not(.home):not(.ace-tool-page) .entry-content > .wp-block-columns:first-of-type {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) max-content !important;
  align-items: start !important;
  gap: 56px !important;
  max-width: 1120px !important;
  margin: 0 0 56px !important;
  padding: 0 0 44px !important;
  border-bottom: 1px solid var(--page-line) !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.page:not(.home):not(.ace-tool-page) .entry-content > .wp-block-columns:first-of-type .wp-block-column {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.page:not(.home):not(.ace-tool-page) .entry-content > .wp-block-columns:first-of-type .wp-block-column:last-child {
  justify-self: end !important;
  align-self: start !important;
}

body.page:not(.home):not(.ace-tool-page) .entry-content > .wp-block-columns:first-of-type h1,
body.page:not(.home):not(.ace-tool-page) .entry-content > .wp-block-columns:first-of-type h2,
body.page:not(.home):not(.ace-tool-page) .entry-content > .wp-block-columns:first-of-type h3 {
  max-width: 760px !important;
  margin: 0 0 12px !important;
  font-size: clamp(30px, 2.8vw, 40px) !important;
  line-height: 1.1 !important;
}

body.page:not(.home):not(.ace-tool-page) .entry-content > .wp-block-columns:first-of-type p {
  max-width: 780px !important;
  margin: 0 !important;
  color: var(--page-muted) !important;
  font-size: 17px !important;
  line-height: 1.68 !important;
}

/* =========================================================
   08. Builder columns and cards
   ========================================================= */

body.page:not(.home):not(.ace-tool-page) .entry-content .wp-block-columns:not(:first-of-type),
body.page:not(.home):not(.ace-tool-page) .entry-content .ace-page-card-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
  gap: 22px !important;
  max-width: 1120px !important;
  margin: 26px 0 54px !important;
}

body.page:not(.home):not(.ace-tool-page) .entry-content .ace-page-card-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

body.page:not(.home):not(.ace-tool-page) .entry-content .wp-block-columns:not(:first-of-type) .wp-block-column,
body.page:not(.home):not(.ace-tool-page) .entry-content .ace-page-card-grid .wp-block-column {
  min-width: 0 !important;
  position: relative !important;
  overflow: hidden !important;
  padding: 28px !important;
  border: 1px solid rgba(17, 24, 39, 0.08) !important;
  border-radius: 22px !important;
  background: #ffffff !important;
  box-shadow: 0 14px 38px rgba(17, 24, 39, 0.07) !important;
}

body.page:not(.home):not(.ace-tool-page) .entry-content .wp-block-columns:not(:first-of-type) .wp-block-column::before,
body.page:not(.home):not(.ace-tool-page) .entry-content .ace-page-card-grid .wp-block-column::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 4px !important;
  background: linear-gradient(90deg, var(--page-green), #22d3ee) !important;
}

body.page:not(.home):not(.ace-tool-page) .entry-content .wp-block-column h2:first-child,
body.page:not(.home):not(.ace-tool-page) .entry-content .wp-block-column h3:first-child,
body.page:not(.home):not(.ace-tool-page) .entry-content .wp-block-column h4:first-child,
body.page:not(.home):not(.ace-tool-page) .entry-content .ace-page-card-grid .wp-block-column h3 {
  margin-top: 0 !important;
  margin-bottom: 8px !important;
}

body.page:not(.home):not(.ace-tool-page) .entry-content .wp-block-column p,
body.page:not(.home):not(.ace-tool-page) .entry-content .ace-page-card-grid .wp-block-column p {
  margin-bottom: 0 !important;
  color: var(--page-muted) !important;
  font-size: 16.5px !important;
  line-height: 1.65 !important;
}

/* =========================================================
   09. Lists
   ========================================================= */

body.page:not(.home):not(.ace-tool-page) .entry-content ul:not(.menu):not(.sub-menu),
body.page:not(.home):not(.ace-tool-page) .entry-content ol {
  max-width: 900px !important;
  margin: 18px 0 34px !important;
  padding: 0 !important;
}

body.page:not(.home):not(.ace-tool-page) .entry-content ul:not(.menu):not(.sub-menu) li {
  list-style: none !important;
  position: relative !important;
  margin: 8px 0 !important;
  padding: 11px 14px 11px 36px !important;
  border-radius: 14px !important;
  background: #f8fafc !important;
  color: var(--page-text) !important;
  font-size: 16px !important;
  line-height: 1.58 !important;
}

body.page:not(.home):not(.ace-tool-page) .entry-content ul:not(.menu):not(.sub-menu) li::before {
  content: "" !important;
  position: absolute !important;
  left: 16px !important;
  top: 20px !important;
  width: 7px !important;
  height: 7px !important;
  border-radius: 999px !important;
  background: var(--page-green) !important;
  box-shadow: 0 0 0 5px rgba(0, 200, 83, 0.10) !important;
}

body.page:not(.home):not(.ace-tool-page) .entry-content ol {
  padding-left: 22px !important;
}

body.page:not(.home):not(.ace-tool-page) .entry-content ol li {
  margin: 8px 0 !important;
  padding-left: 6px !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
}

/* =========================================================
   10. Tables
   ========================================================= */

body.page:not(.home):not(.ace-tool-page) .entry-content table {
  width: 100% !important;
  max-width: 1120px !important;
  margin: 30px 0 46px !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border: 1px solid var(--page-line) !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  background: #ffffff !important;
  box-shadow: 0 8px 22px rgba(17, 24, 39, 0.04) !important;
}

body.page:not(.home):not(.ace-tool-page) .entry-content th {
  padding: 15px 18px !important;
  background: var(--page-navy) !important;
  color: #ffffff !important;
  font-size: 12px !important;
  font-weight: 750 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  text-align: left !important;
}

body.page:not(.home):not(.ace-tool-page) .entry-content td {
  padding: 15px 18px !important;
  border-top: 1px solid var(--page-line) !important;
  color: var(--page-text) !important;
  font-size: 15px !important;
}

body.page:not(.home):not(.ace-tool-page) .entry-content tr:nth-child(even) td {
  background: #f8fbfa !important;
}

/* =========================================================
   11. Media
   ========================================================= */

body.page:not(.home):not(.ace-tool-page) .entry-content img {
  max-width: 100% !important;
  height: auto !important;
}

body.page:not(.home):not(.ace-tool-page) .entry-content figure,
body.page:not(.home):not(.ace-tool-page) .entry-content .wp-block-image {
  margin: 30px 0 !important;
}

body.page:not(.home):not(.ace-tool-page) .entry-content .wp-block-image img,
body.page:not(.home):not(.ace-tool-page) .entry-content figure img {
  border-radius: 18px !important;
  box-shadow: 0 10px 28px rgba(17, 24, 39, 0.07) !important;
}

/* =========================================================
   12. Quotes / risk notes
   ========================================================= */

body.page:not(.home):not(.ace-tool-page) .entry-content blockquote {
  max-width: 1120px !important;
  margin: 38px 0 !important;
  padding: 22px 26px !important;
  border: 1px solid rgba(0, 200, 83, 0.24) !important;
  border-left: 4px solid var(--page-green) !important;
  border-radius: 16px !important;
  background: #f4fbf7 !important;
  color: var(--page-text) !important;
  box-shadow: none !important;
}

body.page:not(.home):not(.ace-tool-page) .entry-content blockquote p {
  max-width: 980px !important;
  margin-bottom: 0 !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
}

/* =========================================================
   13. Forms
   ========================================================= */

body.page:not(.home):not(.ace-tool-page) .entry-content input[type="text"],
body.page:not(.home):not(.ace-tool-page) .entry-content input[type="email"],
body.page:not(.home):not(.ace-tool-page) .entry-content input[type="tel"],
body.page:not(.home):not(.ace-tool-page) .entry-content input[type="url"],
body.page:not(.home):not(.ace-tool-page) .entry-content input[type="password"],
body.page:not(.home):not(.ace-tool-page) .entry-content textarea,
body.page:not(.home):not(.ace-tool-page) .entry-content select {
  width: 100% !important;
  min-height: 48px !important;
  padding: 13px 15px !important;
  border: 1px solid var(--page-line) !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  color: var(--page-ink) !important;
  font-size: 15px !important;
  box-shadow: 0 6px 16px rgba(17, 24, 39, 0.04) !important;
}

body.page:not(.home):not(.ace-tool-page) .entry-content textarea {
  min-height: 150px !important;
  resize: vertical !important;
}

body.page:not(.home):not(.ace-tool-page) .entry-content input:focus,
body.page:not(.home):not(.ace-tool-page) .entry-content textarea:focus,
body.page:not(.home):not(.ace-tool-page) .entry-content select:focus {
  border-color: var(--page-green) !important;
  outline: 0 !important;
  box-shadow: 0 0 0 4px rgba(0, 200, 83, 0.12) !important;
}

/* =========================================================
   14. Elementor compatibility
   ========================================================= */

body.page:not(.home):not(.ace-tool-page) .entry-content .elementor-section {
  margin-left: auto !important;
  margin-right: auto !important;
}

body.page:not(.home):not(.ace-tool-page) .entry-content .elementor-container {
  max-width: 1120px !important;
}

body.page:not(.home):not(.ace-tool-page) .entry-content .elementor-widget-heading h1,
body.page:not(.home):not(.ace-tool-page) .entry-content .elementor-widget-heading h2,
body.page:not(.home):not(.ace-tool-page) .entry-content .elementor-widget-heading h3,
body.page:not(.home):not(.ace-tool-page) .entry-content .elementor-widget-heading h4 {
  color: var(--page-ink) !important;
  font-weight: 700 !important;
  letter-spacing: -0.032em !important;
  text-align: left !important;
}

body.page:not(.home):not(.ace-tool-page) .entry-content .elementor-widget-text-editor {
  color: var(--page-text) !important;
  font-size: 17px !important;
  line-height: 1.7 !important;
  text-align: left !important;
}

/* =========================================================
   15. Mobile
   ========================================================= */

@media (max-width: 991px) {
  body.page:not(.home):not(.ace-tool-page) .page-header .container,
  body.page:not(.home):not(.ace-tool-page) .header-filter .container,
  body.page:not(.home):not(.ace-tool-page) .title-header .container {
    width: calc(100% - 32px) !important;
  }

  body.page:not(.home):not(.ace-tool-page) .main-raised {
    width: calc(100% - 32px) !important;
    margin-top: 32px !important;
    margin-bottom: 70px !important;
    padding: 46px 0 66px !important;
    border-radius: 22px !important;
  }

  body.page:not(.home):not(.ace-tool-page) .blog-post .container,
  body.page:not(.home):not(.ace-tool-page) .section .container,
  body.page:not(.home):not(.ace-tool-page) .entry-content {
    max-width: calc(100% - 44px) !important;
  }

  body.page:not(.home):not(.ace-tool-page) .entry-content > .wp-block-columns:first-of-type {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  body.page:not(.home):not(.ace-tool-page) .entry-content > .wp-block-columns:first-of-type .wp-block-column:last-child {
    justify-self: start !important;
  }

  body.page:not(.home):not(.ace-tool-page) .entry-content .wp-block-columns:not(:first-of-type),
  body.page:not(.home):not(.ace-tool-page) .entry-content .ace-page-card-grid {
    grid-template-columns: 1fr !important;
  }

  body.page:not(.home):not(.ace-tool-page) .entry-content table {
    display: block !important;
    overflow-x: auto !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 640px) {
  body.page:not(.home):not(.ace-tool-page) .page-header,
  body.page:not(.home):not(.ace-tool-page) .page-header.header-filter,
  body.page:not(.home):not(.ace-tool-page) .page-header.header-small,
  body.page:not(.home):not(.ace-tool-page) .header-filter,
  body.page:not(.home):not(.ace-tool-page) .title-header {
    min-height: 300px !important;
  }

  body.page:not(.home):not(.ace-tool-page) .page-header h1,
  body.page:not(.home):not(.ace-tool-page) .page-header .hestia-title,
  body.page:not(.home):not(.ace-tool-page) .hestia-title,
  body.page:not(.home):not(.ace-tool-page) .title-header h1 {
    font-size: 36px !important;
  }

  body.page:not(.home):not(.ace-tool-page) .main-raised {
    width: calc(100% - 18px) !important;
    margin-top: 24px !important;
    margin-bottom: 58px !important;
    padding: 34px 0 58px !important;
  }

  body.page:not(.home):not(.ace-tool-page) .blog-post .container,
  body.page:not(.home):not(.ace-tool-page) .section .container,
  body.page:not(.home):not(.ace-tool-page) .entry-content {
    max-width: calc(100% - 32px) !important;
  }

  body.page:not(.home):not(.ace-tool-page) .entry-content h1 {
    font-size: 32px !important;
  }

  body.page:not(.home):not(.ace-tool-page) .entry-content h2 {
    font-size: 28px !important;
    margin-top: 48px !important;
  }

  body.page:not(.home):not(.ace-tool-page) .entry-content h3 {
    font-size: 23px !important;
  }

  body.page:not(.home):not(.ace-tool-page) .entry-content p {
    font-size: 16px !important;
    line-height: 1.66 !important;
  }

  body.page:not(.home):not(.ace-tool-page) .entry-content .wp-block-button__link,
  body.page:not(.home):not(.ace-tool-page) .entry-content .btn,
  body.page:not(.home):not(.ace-tool-page) .entry-content a.btn,
  body.page:not(.home):not(.ace-tool-page) .entry-content a.button,
  body.page:not(.home):not(.ace-tool-page) .entry-content > .wp-block-columns:first-of-type a:not(.wp-block-button__link) {
    width: 100% !important;
    min-width: 0 !important;
  }
}