/*
 Theme Name:   Hello Elementor Child
 Theme URI:    https://elementor.com/hello-theme/
 Description:  Hello Elementor Child Theme — custom CSS goes here
 Author:       Valfi
 Author URI:   https://valfi.fi
 Template:     hello-elementor
 Version:      1.0.83
 License:      GNU General Public License v3 or later
 License URI:  https://www.gnu.org/licenses/gpl-3.0.html
 Text Domain:  hello-elementor-child
*/

/* ==========================================================================
   Custom CSS — add your styles below this line
   ========================================================================== */

.rpi-flx.rpi-col12.grw-review-inner.grw-backgnd.grw-round {
       background: #0f0f0f ! Important;
   }
   
body,
.site-main,
.elementor-page,
.page-content {
   background-color: #000000 !important;
}
.elementor-widget-wrap.elementor-element-populated a {
    color: #e31d24;
}
h2 {
    font-weight: 900!important;
    color: #af1b1e!important;
} 

span.elementor-button-text {
    color: white;
}

/* Default content link colour (overrides Elementor violet) */
.elementor a,
.elementor-section-wrap a,
.elementor-element a {
   text-decoration: none;
}

.elementor a:hover,
.elementor-section-wrap a:hover,
.elementor-element a:hover {
   color: #fff !important;
}

/* Don't override nav, header, or button link colours */
.fit-header a,
.fit-header__nav a,
.fit-mobile-menu a {
   color: var(--fit-on-surface) !important;
}

.elementor-button,
a.elementor-button,
.elementor-social-icon {
   color: unset !important;
}

.elementor-shape .elementor-shape-fill {

   display: none;
}

body:not(.home) .elementor-background-overlay:not([style*="background"]) {
   background-color: #050505c7 !important;
}

h4.elementor-heading-title.elementor-size-default {
    color: white !important;
}

/* ==========================================================================
   Design Tokens (from DESIGN.md)
   ========================================================================== */
:root {
   /* Colours */
   --fit-brand-red: #E31E24;
   --fit-brand-red-dark: #93000d;
   --fit-bg: #131313;
   --fit-bg-90: rgba(19, 19, 19, 0.92);
   --fit-surface-highest: #353534;
   --fit-on-surface: #e5e2e1;
   --fit-text-secondary: #A1A1A1;

   /* Typography */
   --fit-font-heading: 'Montserrat', sans-serif;
   --fit-font-body: 'Montserrat', sans-serif;

   /* Spacing */
   --fit-gutter: 24px;
   --fit-container-max: 1280px;

   /* Misc */
   --fit-radius-lg: 4px;
   --fit-transition: 150ms cubic-bezier(0.4, 0, 0.2, 1);
}

/* ==========================================================================
   FIT Header – [fit_header] shortcode
   ========================================================================== */

/* ---- Container ---- */
.fit-header {
   position: fixed;
   top: 0;
   left: 0;
   width: 100%;
   z-index: 9999;
   background: var(--fit-bg-90);
   backdrop-filter: blur(12px);
   -webkit-backdrop-filter: blur(12px);
   border-bottom: 1px solid var(--fit-surface-highest);
   transition: box-shadow 0.3s ease;
}

.fit-header.is-scrolled {
   box-shadow: 0 4px 24px rgba(0, 0, 0, 0.5);
}

/* ---- Inner wrapper ---- */
.fit-header__inner {
   display: flex;
   align-items: center;
   justify-content: space-between;
   max-width: var(--fit-container-max);
   margin: 0 auto;
   padding: 12px var(--fit-gutter);
}

/* ---- Logo ---- */
.fit-header__logo-link {
   display: flex;
   align-items: center;
   flex-shrink: 0;
   text-decoration: none;
}

.fit-header__logo {
   height: 40px !important;
   max-height: 40px !important;
   width: auto !important;
   max-width: 160px !important;
   object-fit: contain;
   display: block;
}

@media (min-width: 768px) {
   .fit-header__logo {
      height: 48px !important;
      max-height: 48px !important;
      max-width: 200px !important;
   }
}

/* ---- Desktop navigation ---- */
.fit-header__nav {
   display: none;
   align-items: center;
   gap: 32px;
}

@media (min-width: 768px) {
   .fit-header__nav {
      display: flex;
   }
}

.fit-header__link {
   font-family: var(--fit-font-body);
   font-size: 14px;
   font-weight: 700;
   line-height: 1;
   letter-spacing: 0.05em;
   text-transform: uppercase;
   color: var(--fit-on-surface);
   text-decoration: none;
   padding-bottom: 4px;
   border-bottom: 2px solid transparent;
   transition: color var(--fit-transition), border-color var(--fit-transition);
   white-space: nowrap;
}

.fit-header__link:hover {
   color: var(--fit-brand-red);
}

.fit-header__link--active {
   color: var(--fit-brand-red);
   border-bottom-color: var(--fit-brand-red);
}

/* ---- Desktop dropdown submenu ---- */
.fit-header__item {
   position: relative;
}

.fit-header__dropdown {
   position: absolute;
   top: 100%;
   left: 50%;
   transform: translateX(-50%);
   min-width: 200px;
   background: var(--fit-bg);
   border: 1px solid var(--fit-surface-highest);
   border-radius: 4px;
   padding: 8px 0;
   margin-top: 0;
   padding-top: 20px;
   opacity: 0;
   visibility: hidden;
   pointer-events: none;
   transition: opacity 0.2s ease, transform 0.2s ease;
   transform: translateX(-50%) translateY(4px);
   box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);
   z-index: 100;
}

/* Invisible bridge to maintain hover between link and dropdown */
.fit-header__dropdown::before {
   content: '';
   position: absolute;
   top: -12px;
   left: 0;
   right: 0;
   height: 12px;
}

.fit-header__item--has-children:hover .fit-header__dropdown {
   opacity: 1;
   visibility: visible;
   pointer-events: auto;
   transform: translateX(-50%) translateY(0);
}

.fit-header__sub-link {
   display: block;
   font-family: var(--fit-font-body);
   font-size: 13px;
   font-weight: 600;
   color: var(--fit-on-surface);
   text-decoration: none;
   padding: 10px 20px;
   white-space: nowrap;
   transition: background var(--fit-transition), color var(--fit-transition);
}

.fit-header__sub-link:hover {
   background: rgba(227, 30, 36, 0.1);
   color: var(--fit-brand-red);
}

.fit-header__sub-link--active {
   color: var(--fit-brand-red);
}

/* ---- Actions (CTA + hamburger) ---- */
.fit-header__actions {
   display: flex;
   align-items: center;
   gap: 16px;
}

/* ---- CTA button ---- */
.fit-header__cta {
   display: none;
   font-family: var(--fit-font-body);
   font-size: 14px;
   font-weight: 700;
   line-height: 1;
   letter-spacing: 0.05em;
   text-transform: uppercase;
   color: #fff;
   background: var(--fit-brand-red);
   padding: 14px 24px;
   border-radius: var(--fit-radius-lg);
   text-decoration: none;
   white-space: nowrap;
   transition: background var(--fit-transition), transform var(--fit-transition);
}

.fit-header__cta:hover {
   background: var(--fit-brand-red-dark);
}

.fit-header__cta:active {
   transform: scale(0.95);
}

@media (min-width: 1024px) {
   .fit-header__cta {
      display: inline-flex;
   }
}

/* ---- Hamburger ---- */
.fit-header__hamburger {
   display: flex !important;
   flex-direction: column;
   justify-content: center;
   align-items: center;
   width: 40px;
   height: 40px;
   padding: 8px;
   background: none;
   border: none;
   cursor: pointer;
   -webkit-appearance: none;
   appearance: none;
}

.fit-header__hamburger-bar {
   display: block;
   width: 22px;
   height: 2px;
   min-height: 2px;
   background: #fff;
   border-radius: 2px;
   transition: transform 0.3s ease, opacity 0.3s ease;
   margin: 2.5px 0;
}

@media (min-width: 768px) {
   .fit-header__hamburger {
      display: none !important;
   }
}

/* ==========================================================================
   Mobile Menu
   ========================================================================== */
.fit-mobile-menu {
   position: fixed;
   inset: 0;
   z-index: 10000;
   pointer-events: none;
   visibility: hidden;
}

.fit-mobile-menu.is-open {
   pointer-events: auto;
   visibility: visible;
}

/* Overlay */
.fit-mobile-menu__overlay {
   position: absolute;
   inset: 0;
   background: rgba(0, 0, 0, 0.6);
   opacity: 0;
   transition: opacity 0.3s ease;
}

.fit-mobile-menu.is-open .fit-mobile-menu__overlay {
   opacity: 1;
}

/* Panel */
.fit-mobile-menu__panel {
   position: absolute;
   top: 0;
   right: 0;
   width: 300px;
   max-width: 85vw;
   height: 100%;
   background: var(--fit-bg);
   border-left: 1px solid var(--fit-surface-highest);
   padding: 24px;
   display: flex;
   flex-direction: column;
   transform: translateX(100%);
   transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.fit-mobile-menu.is-open .fit-mobile-menu__panel {
   transform: translateX(0);
}

/* Close button */
.fit-mobile-menu__close {
   align-self: flex-end;
   background: none;
   border: none;
   color: #fff;
   cursor: pointer;
   padding: 8px;
   margin-bottom: 32px;
   -webkit-appearance: none;
   appearance: none;
}

.fit-mobile-menu__close:hover {
   color: var(--fit-brand-red);
}

/* Nav items */
.fit-mobile-menu__nav>ul {
   list-style: none;
   margin: 0;
   padding: 0;
   display: flex;
   flex-direction: column;
   gap: 0;
}

.fit-mobile-menu__nav li {
   border-bottom: 1px solid var(--fit-surface-highest);
}

.fit-mobile-menu__link {
   display: block;
   font-family: var(--fit-font-body);
   font-size: 16px;
   font-weight: 700;
   letter-spacing: 0.05em;
   text-transform: uppercase;
   color: var(--fit-on-surface);
   text-decoration: none;
   padding: 16px 0;
   transition: color var(--fit-transition);
}

.fit-mobile-menu__link:hover {
   color: #E31E24 !important;
}

.fit-mobile-menu__link--active {
   color: #E31E24 !important;
}

/* Mobile sub-menu — parent row (link + toggle side-by-side) */
.fit-mobile-menu__parent {
   display: flex;
   align-items: center;
   gap: 0;
}

.fit-mobile-menu__parent .fit-mobile-menu__link {
   flex: 1;
   min-width: 0;
}

/* Toggle arrow button */
.fit-mobile-menu__toggle {
   display: flex;
   align-items: center;
   justify-content: center;
   width: 44px;
   height: 44px;
   flex-shrink: 0;
   background: none !important;
   border: none !important;
   border-left: 1px solid var(--fit-surface-highest) !important;
   color: var(--fit-on-surface);
   cursor: pointer;
   padding: 0;
   margin: 0;
   -webkit-appearance: none;
   appearance: none;
   transition: color var(--fit-transition), background var(--fit-transition);
}

.fit-mobile-menu__toggle:hover {
   color: var(--fit-brand-red);
   background: rgba(227, 30, 36, 0.08);
}

/* Chevron rotation */
.fit-mobile-menu__chevron {
   transition: transform 0.3s ease;
}

.fit-mobile-menu__has-children.is-sub-open .fit-mobile-menu__chevron {
   transform: rotate(180deg);
}

/* Submenu accordion — hidden by default */
.fit-mobile-menu__sub {
   list-style: none !important;
   margin: 0 !important;
   padding: 0 !important;
   display: block !important;
   max-height: 0 !important;
   overflow: hidden !important;
   transition: max-height 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.fit-mobile-menu__has-children.is-sub-open>.fit-mobile-menu__sub {
   max-height: 500px !important;
}

.fit-mobile-menu__sub li {
   border-bottom: 1px solid rgba(53, 53, 52, 0.5);
}

.fit-mobile-menu__sub li:last-child {
   border-bottom: none;
}

.fit-mobile-menu__sub .fit-mobile-menu__link {
   padding-left: 20px;
   font-size: 14px;
   color: var(--fit-text-secondary);
}

.fit-mobile-menu__sub .fit-mobile-menu__link:hover {
   color: var(--fit-brand-red);
}

/* Mobile CTA */
.fit-mobile-menu__cta {
   display: block;
   margin-top: auto;
   text-align: center;
   font-family: var(--fit-font-body);
   font-size: 14px;
   font-weight: 700;
   letter-spacing: 0.05em;
   text-transform: uppercase;
   color: #fff;
   background: var(--fit-brand-red);
   padding: 16px 24px;
   border-radius: var(--fit-radius-lg);
   text-decoration: none;
   transition: background var(--fit-transition);
}

.fit-mobile-menu__cta:hover {
   background: var(--fit-brand-red-dark);
}

/* ==========================================================================
   Kuntosalit-etu – Location cards (Elementor)
   ========================================================================== */

/* Section container */
.kuntosalit-etu {
   padding: 40px 24px !important;
   background: transparent !important;
}

.kuntosalit-etu>.elementor-container {
   max-width: var(--fit-container-max) !important;
   gap: 40px;
}

/* Each column = a card */
.kuntosalit-etu .elementor-column {
   background: #121212;
   border: 1px solid var(--fit-surface-highest);
   border-radius: 12px;
   overflow: hidden;
   transition: all 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.kuntosalit-etu .elementor-column:hover {
   border-color: rgba(227, 30, 36, 0.2);
}

/* Remove default Elementor column padding */
.kuntosalit-etu .elementor-widget-wrap {
   padding: 0 !important;
   position: relative;
}

/* ---- Pikkuteksti badge (overlaps image bottom-right) ---- */
.kuntosalit-etu .pikkuteksti {
   position: relative !important;
   z-index: 5;
   margin-top: -60px !important;
   margin-right: 16px !important;
   margin-bottom: 0 !important;
   margin-left: auto !important;
   padding: 0 !important;
   width: auto !important;
   text-align: right !important;
}

.kuntosalit-etu .pikkuteksti .elementor-widget-container {
   padding: 0 !important;
   display: inline-block;
}

.kuntosalit-etu .pikkuteksti .elementor-heading-title {
   display: inline-block;
   background: rgba(227, 30, 36, 0.1);
   color: white!important;
   border: 1px solid rgba(227, 30, 36, 0.2);
   font-family: var(--fit-font-body) !important;
   font-size: 12px !important;
   font-weight: 700 !important;
   line-height: 1 !important;
   letter-spacing: 0.02em;
   text-transform: uppercase;
   padding: 5px 10px !important;
   border-radius: 2px;
   white-space: nowrap;
}

/* ---- Image / Slides area ---- */
.kuntosalit-etu .elementor-widget-slides {
   aspect-ratio: 16 / 9;
   overflow: hidden;
}

.kuntosalit-etu .elementor-widget-slides .elementor-widget-container,
.kuntosalit-etu .elementor-widget-slides .elementor-swiper,
.kuntosalit-etu .elementor-widget-slides .elementor-slides-wrapper,
.kuntosalit-etu .elementor-widget-slides .swiper-wrapper,
.kuntosalit-etu .elementor-widget-slides .swiper-slide {
   height: 100% !important;
}

.kuntosalit-etu .swiper-slide-bg {
   transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1), filter 0.6s ease;
}

.kuntosalit-etu .elementor-column:hover .swiper-slide-bg {
   transform: scale(1.05);
}

/* Hide slide arrows & pagination inside cards */
.kuntosalit-etu .elementor-swiper-button,
.kuntosalit-etu .swiper-pagination {
   display: none !important;
}

/* ---- Text area ---- */
.kuntosalit-etu .elementor-widget-text-editor {
   padding: 32px 32px 0 32px !important;
}

button.fit-header__hamburger {
   color: red !important;
}

[type=button],
[type=submit],
button {
   display: inline-block;
   font-weight: 400;
   color: #f05;
   text-align: center;
   white-space: nowrap;
   -webkit-user-select: none;
   -moz-user-select: none;
   user-select: none;
   background-color: transparent;
   border: 1px solid #f05 !important;
}

[type=button]:focus,
[type=button]:hover,
[type=submit]:focus,
[type=submit]:hover,
button:focus,
button:hover {
   color: #fff;
   background-color: red !important;
   text-decoration: none;
}

.kuntosalit-etu .elementor-widget-text-editor h2 {
   font-family: var(--fit-font-heading) !important;
   font-size: 24px !important;
   font-weight: 700 !important;
   line-height: 1.4 !important;
   color: #ffffff !important;
   text-transform: uppercase;
   letter-spacing: 0.02em;
   margin-bottom: 16px !important;
}

.kuntosalit-etu .elementor-widget-text-editor p {
   font-family: var(--fit-font-body) !important;
   font-size: 16px !important;
   font-weight: 400 !important;
   line-height: 1.6 !important;
   color: var(--fit-text-secondary) !important;
   margin-bottom: 0 !important;
}

.kuntosalit-etu .elementor-widget-text-editor p a {
   color: var(--fit-brand-red) !important;
   text-decoration: none;
   transition: color var(--fit-transition);
}

.kuntosalit-etu .elementor-widget-text-editor p a:hover {
   color: #fff !important;
}

/* ---- Button area ---- */
.kuntosalit-etu .elementor-widget-button {
   padding: 0 32px 32px 32px !important;
   margin-top: 32px !important;
}

.kuntosalit-etu .elementor-button {
   background: transparent !important;
   border: 2px solid var(--fit-brand-red) !important;
   color: var(--fit-brand-red) !important;
   font-family: var(--fit-font-body) !important;
   font-size: 14px !important;
   font-weight: 700 !important;
   letter-spacing: 0.05em !important;
   text-transform: uppercase !important;
   padding: 12px 32px !important;
   border-radius: 0 !important;
   transition: all var(--fit-transition) !important;
}

.kuntosalit-etu .elementor-button:hover {
   background: var(--fit-brand-red) !important;
   color: #fff !important;
}

.kuntosalit-etu .elementor-button .elementor-button-icon {
   color: inherit !important;
}

/* ---- Mobile: stack cards ---- */
@media (max-width: 767px) {
   .kuntosalit-etu>.elementor-container {
      flex-direction: column;
   }

   .kuntosalit-etu .elementor-column {
      width: 100% !important;
   }

   .kuntosalit-etu .elementor-widget-text-editor {
      padding: 24px 24px 0 24px !important;
   }

   .kuntosalit-etu .elementor-widget-button {
      padding: 0 24px 24px 24px !important;
      margin-top: 24px !important;
   }
}

/* ---- Mobile: smaller h1/h2 on front page ---- */
@media (max-width: 767px) {

   body.home h1,
   body.home .elementor-heading-title.elementor-size-xxl {
      font-size: 28px !important;
      line-height: 1.2 !important;
   }

   body.home h2 {
      font-size: 22px !important;
      line-height: 1.3 !important;
   }
}

/* ==========================================================================
   Subpages – Hiukkavaara (page-id-3095) & Oulunsalo (page-id-198)
   Shared styles to unify with front page design
   ========================================================================== */

/* ---- Kill ALL italics site-wide ---- */
.page-id-3095 em,
.page-id-3095 i,
.page-id-198 em,
.page-id-198 i {
   font-style: normal !important;
}

/* ---- Global typography ---- */
.page-id-3095,
.page-id-198 {
   color: var(--fit-on-surface) !important;
}

.page-id-3095 .elementor-widget-text-editor,
.page-id-198 .elementor-widget-text-editor {
   color: var(--fit-on-surface) !important;
}

/* All paragraphs */
.page-id-3095 .elementor-widget-text-editor p,
.page-id-198 .elementor-widget-text-editor p {
   font-family: var(--fit-font-body) !important;
   font-style: normal !important;
   color: var(--fit-text-secondary) !important;
   line-height: 1.6 !important;
}

/* Links inside text */
.page-id-3095 .elementor-widget-text-editor a,
.page-id-198 .elementor-widget-text-editor a {
   color: var(--fit-brand-red) !important;
   text-decoration: none !important;
   transition: color var(--fit-transition);
}

.page-id-3095 .elementor-widget-text-editor a:hover,
.page-id-198 .elementor-widget-text-editor a:hover {
   color: #fff !important;
}



/* Hero heading (h5 used as page title) 
.page-id-3095 .elementor-heading-title.elementor-size-xxl {
   font-family: var(--fit-font-heading) !important;
   font-size: 48px !important;
   font-weight: 800 !important;
   line-height: 1.2 !important;
   color: #ffffff !important;
   text-transform: uppercase;
}


.page-id-3095 .elementor-heading-title h1 {
   font-weight: 700 !important;
   font-family: var(--fit-font-heading) !important;
}

.page-id-3095 h3,
.page-id-198 h3 {
   font-size: 24px !important;
   font-weight: 700 !important;
   line-height: 1.4 !important;
   text-transform: uppercase;
   letter-spacing: 0.02em;
}
*/
/* ---- Parent page subtitle (child pages) ---- */
.fit-parent-subtitle {
   font-family: var(--fit-font-body) !important;
   font-size: 14px !important;
   font-weight: 700 !important;
   letter-spacing: 0.1em;
   text-transform: uppercase;
   margin-top: 12px !important;
   margin-bottom: 0 !important;
}

.fit-parent-subtitle a {
   color: var(--fit-brand-red) !important;
   text-decoration: none;
   transition: color var(--fit-transition);
}

.fit-parent-subtitle a:hover {
   color: #fff !important;
}

/* Icon-box titles (h6 in contact sections) */
.page-id-3095 .elementor-icon-box-title,
.page-id-198 .elementor-icon-box-title {
   font-family: var(--fit-font-body) !important;
   font-weight: 700 !important;
   text-transform: uppercase;
   letter-spacing: 0.05em;
   color: #ffffff !important;
}

.page-id-3095 .elementor-icon-box-description,
.page-id-198 .elementor-icon-box-description {
   color: var(--fit-text-secondary) !important;
}

/* ---- Section backgrounds ---- */
.page-id-3095 .elementor-section,
.page-id-198 .elementor-section {
   background-color: transparent;
}

/* Sections with gradient backgrounds – make them darker */
.page-id-3095 .elementor-section[data-settings*="gradient"],
.page-id-198 .elementor-section[data-settings*="gradient"] {
   background: #0a0a0a !important;
}

/* ---- Buttons ---- */
.page-id-3095 .elementor-button,
.page-id-198 .elementor-button {
   font-family: var(--fit-font-body) !important;
   font-weight: 700 !important;
   letter-spacing: 0.05em !important;
   text-transform: uppercase !important;
   border-radius: var(--fit-radius-lg) !important;
   transition: all var(--fit-transition) !important;
}

/* Primary CTA buttons (solid red) */
.page-id-3095 .elementor-button.elementor-size-sm,
.page-id-198 .elementor-button.elementor-size-sm {
   background: transparent !important;
   border: 2px solid var(--fit-brand-red) !important;
   color: var(--fit-brand-red) !important;
   padding: 12px 32px !important;
}

.page-id-3095 .elementor-button.elementor-size-sm:hover,
.page-id-198 .elementor-button.elementor-size-sm:hover {
   background: var(--fit-brand-red) !important;
   color: #fff !important;
}

/* Larger CTA buttons */
.page-id-3095 .elementor-button.elementor-size-md,
.page-id-3095 .elementor-button.elementor-size-lg,
.page-id-198 .elementor-button.elementor-size-md,
.page-id-198 .elementor-button.elementor-size-lg {
   background: var(--fit-brand-red) !important;
   color: #fff !important;
}

.page-id-3095 .elementor-button.elementor-size-md:hover,
.page-id-3095 .elementor-button.elementor-size-lg:hover,
.page-id-198 .elementor-button.elementor-size-md:hover,
.page-id-198 .elementor-button.elementor-size-lg:hover {
   background: var(--fit-brand-red-dark) !important;
}

/* ---- Image treatments ---- */
.page-id-3095 .elementor-widget-image img,
.page-id-198 .elementor-widget-image img {
   border-radius: 8px;
}

/* ---- Icon box icons ---- */
.page-id-3095 .elementor-icon,
.page-id-198 .elementor-icon {
   color: var(--fit-brand-red) !important;
}

/* ---- List items (features/USPs) ---- */
.page-id-3095 .elementor-icon-list-text,
.page-id-198 .elementor-icon-list-text {
   font-family: var(--fit-font-body) !important;
   color: var(--fit-text-secondary) !important;
   font-style: normal !important;
}

.page-id-3095 .elementor-icon-list-icon i,
.page-id-3095 .elementor-icon-list-icon svg,
.page-id-198 .elementor-icon-list-icon i,
.page-id-198 .elementor-icon-list-icon svg {
   color: var(--fit-brand-red) !important;
   fill: var(--fit-brand-red) !important;
}

/* ---- Social icons ---- */
.page-id-3095 .elementor-social-icon,
.page-id-198 .elementor-social-icon {
   background: var(--fit-surface-highest) !important;
   transition: background var(--fit-transition) !important;
}

.page-id-3095 .elementor-social-icon:hover,
.page-id-198 .elementor-social-icon:hover {
   background: var(--fit-brand-red) !important;
}

/* ---- Footer section styling ---- */
.page-id-3095 .elementor-widget-heading h4,
.page-id-198 .elementor-widget-heading h4 {
   font-family: var(--fit-font-body) !important;
   font-size: 14px !important;
   font-weight: 700 !important;
   text-transform: uppercase !important;
   letter-spacing: 0.1em;
}

/* ---- Spacing adjustments ---- */
.page-id-3095 .elementor-top-section,
.page-id-198 .elementor-top-section {
   border-color: var(--fit-surface-highest) !important;
}

/* ---- Google reviews / testimonials ---- */
.page-id-3095 .elementor-testimonial-content,
.page-id-198 .elementor-testimonial-content {
   font-family: var(--fit-font-body) !important;
   color: var(--fit-text-secondary) !important;
   font-style: normal !important;
}

.page-id-3095 .elementor-testimonial-name,
.page-id-198 .elementor-testimonial-name {
   font-family: var(--fit-font-body) !important;
   color: #fff !important;
   font-style: normal !important;
}

/* ---- Forms on subpages ---- */
.page-id-3095 .elementor-field,
.page-id-198 .elementor-field {
   background: #1c1b1b !important;
   border: 1px solid var(--fit-surface-highest) !important;
   color: #fff !important;
   font-family: var(--fit-font-body) !important;
}

.page-id-3095 .elementor-field:focus,
.page-id-198 .elementor-field:focus {
   border-color: var(--fit-brand-red) !important;
}

.page-id-3095 .elementor-field-label,
.page-id-198 .elementor-field-label {
   font-family: var(--fit-font-body) !important;
   color: #fff !important;
   font-weight: 700 !important;
   text-transform: uppercase;
   font-size: 12px !important;
   letter-spacing: 0.05em;
}