/* Site additions made after the WordPress migration (not generated by Elementor). */

/* Footer: "Retail Sales Agency" sub-list in the RETAIL column */
.fr-footer-subheading { margin-top: 18px; text-align: left; }
@media (max-width: 767px) { .fr-footer-subheading { text-align: center; } }
.fr-footer-subheading .elementor-heading-title { font-size: 16px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
body .fr-footer-subheading a { color: var(--e-global-color-82dfe02, #fff); }
body .fr-footer-subheading a:hover { color: var(--e-global-color-accent, #009ace); }

/* "Go deeper" callout on the retail service pages */
.fr-deeper { padding: 64px 20px; background: var(--e-global-color-415f8eb, #000); }
.fr-deeper__inner {
  max-width: 900px; margin: 0 auto; padding: 40px 44px; border-radius: 16px;
  background: linear-gradient(135deg, #0f0f0f 0%, #10212b 100%);
  border: 1px solid rgba(0, 154, 206, .35); color: #fff; font-family: "Libre Franklin", sans-serif;
}
body .fr-deeper .fr-deeper__eyebrow { margin: 0 0 6px; color: var(--e-global-color-accent, #009ace); font-family: "Libre Baskerville", serif; font-style: italic; font-size: 20px; }
body .fr-deeper .fr-deeper__title { margin: 0 0 14px; color: #fff; font-size: clamp(26px, 3.2vw, 36px); font-weight: 800; line-height: 1.15; }
body .fr-deeper .fr-deeper__text { margin: 0 0 24px; font-size: 17px; line-height: 1.6; color: rgba(255, 255, 255, .85); }
body .fr-deeper a.fr-deeper__cta {
  display: inline-block; padding: 12px 26px; border-radius: 6px; background: var(--e-global-color-accent, #009ace);
  color: #fff; font-weight: 700; text-transform: uppercase; font-size: 14px; letter-spacing: .04em; text-decoration: none;
}
body .fr-deeper a.fr-deeper__cta:hover, body .fr-deeper a.fr-deeper__cta:focus { background: #fff; color: #000; }
body .fr-deeper .fr-deeper__also { margin: 22px 0 0; font-size: 15px; color: rgba(255, 255, 255, .7); }
body .fr-deeper .fr-deeper__also a { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
body .fr-deeper .fr-deeper__also a:hover { color: var(--e-global-color-accent, #009ace); }
@media (max-width: 767px) {
  .fr-deeper { padding: 40px 16px; }
  .fr-deeper__inner { padding: 28px 22px; }
}

/* Blog cards for Markdown posts: crop images like WordPress's 360x270 card thumbnails */
img.fr-card-img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.elementor-post__thumbnail img.fr-card-img { aspect-ratio: auto; height: 100%; }

/* Markdown post bodies */
.fr-md-post .elementor-widget-theme-post-content img { max-width: 100%; height: auto; border-radius: 12px; }
.fr-md-post .elementor-widget-theme-post-content blockquote { margin: 1.5em 0; padding: 4px 0 4px 20px; border-left: 4px solid var(--e-global-color-accent, #009ace); font-family: "Libre Baskerville", serif; font-style: italic; }
.fr-md-post .elementor-widget-theme-post-content ul, .fr-md-post .elementor-widget-theme-post-content ol { margin: 0 0 14px; }

/* Video embeds in posts (converted from Elementor video widgets and inline iframes) */
.fr-video { position: relative; width: 100%; aspect-ratio: 16 / 9; margin: 0 0 1.2em; }
.fr-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* Post featured image fills the column, like WordPress's (which set width attributes) */
.elementor-widget-theme-post-featured-image img.fr-featured { width: 100%; }

/* Imported posts originally written with a blank line between paragraphs */
.fr-spaced .elementor-widget-theme-post-content p { margin-bottom: 22px; }

/* Header "HIRE US" button: when it's the current page (/contact/), Elementor's active-item
   color is the same blue as the button, hiding the text (same bug on the WordPress site). */
.elementor-nav-menu .dp-menu-button > a.elementor-item.elementor-item-active,
.elementor-nav-menu .dp-menu-button > a.elementor-item.elementor-item-active:hover,
.elementor-nav-menu .dp-menu-button > a.elementor-item.elementor-item-active:focus { color: #fff !important; }

/* Pagination arrows: Elementor's AJAX pagination reads href from the click target, so a
   click on the arrow icon itself threw and froze the links (same bug on the WordPress site). */
.elementor-pagination .page-numbers i { pointer-events: none; }
