.elementor-kit-6{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1240px;}.e-con{--container-max-width:1240px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}:root { --e-gv-57bf412:Big Shoulders 800; --body:Montserrat; --red:#C41E1E; --red-hover:#A11A1A; --red-soft:#FDF0F0; --black:#111010; --iron:#2B2B2B; --steel:#5C5B59; --ash:#A8A6A4; --smoke:#E3E1DF; --off-white:#F5F4F2; --white:#ffffff; --bg-near-black:#0d0e0f; --bg-panel:#131517; --bg-light:#f4f4f3; --bg-form-panel:#ececeb; --hairline-for-dark:#26292c; --hairline-for-light:#d3d4d2; --cta-red-ember:#cf1f22; --heading700:Big Shoulders Bold; --txt-heading-dark:#14161a; --txt-body-light:#e8e9ea; --txt-muted4Black:#8f9498; --txt-muted4Light:#55595e; --txt-muted4Panel:#9a9ea2; }
/* Start custom CSS *//* Remove borders between sub-items in the sidebar nav */
.elementor-nav-menu .sub-menu.elementor-nav-menu--dropdown li:not(:last-child) {
    border: none !important;
}

/* Align dropdown chevrons to the right in vertical nav */
/* Accordion icon to right edge */
.e-n-accordion-item-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
}

.e-n-accordion-item-title-header {
    flex: 1;
    min-width: 0;
}

.e-n-accordion-item-title-icon {
    flex-shrink: 0;
    margin-left: auto;
}

/* Sub-menu items — normal weight */
.elementor-nav-menu .sub-menu a,
.elementor-nav-menu .sub-menu li a {
    font-weight: 400 !important;
    text-transform: none !important;
}

/* Auto-expand parent in menu when child page is active 
.elementor-nav-menu .menu-item-has-children:has(.elementor-item-active) > .elementor-nav-menu--dropdown,
.elementor-nav-menu .menu-item-has-children:has(.elementor-sub-item.elementor-item-active) > .elementor-nav-menu--dropdown {
    display: block !important;
}*/


/* Base transition on the icon — needed for smooth animation both ways */

.elementor-widget.contact-card__icon {
    transition: background-color 0.2s ease;
}

/* Trigger: hover on the card changes the icon background */

.contact-card:hover .elementor-widget.contact-card__icon {
    background-color: #C41E1E;
}


/* contact section bg */
#contact-bg{
  background-color: #111010;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
  background-size: 20px 20px, 20px 20px, 100px 100px, 100px 100px;
}

/* Keep Tooted/Teenused white while their dropdown is open */
.elementor-widget-n-menu .e-n-menu-title:has(.e-n-menu-dropdown-icon[aria-expanded="true"]) .e-n-menu-title-text {
    color: #FFFFFF !important;
}

/* button white space from below */
.elementor-icon-wrapper {
 line-height: 0;
}


/* product page perforated bg */
/* Remove the background from the section itself */
#perforated-bg {
  position: relative;
}

/* Dot layer: covers left gutter + sidebar, fades toward content */
#perforated-bg::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  /* Adjust width to match your sidebar's right edge + a little extra */
  width: 320px; /* tweak: your sidebar ends around here */
  height: 100%;
  pointer-events: none;
  z-index: 0;

  background-image:
    radial-gradient(rgba(255,255,255,.075) 1.5px, transparent 1.7px),
    radial-gradient(rgba(0,0,0,.1) 1.5px, transparent 1.7px);
  background-size: 16px 16px, 16px 16px;
  background-position: 0 0, 1px 1px;

  /* Fade out toward the content area */
  -webkit-mask-image: linear-gradient(to right, black 60%, transparent 100%);
  mask-image: linear-gradient(to right, black 60%, transparent 100%);
}


/* Carousel navigation arrows — white square background */
.elementor-widget-image-carousel .elementor-swiper-button {
    background-color: #ffffff99;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.elementor-widget-image-carousel .elementor-swiper-button svg {
    width: 20px;
    height: 20px;
}



/* panin wordpress language EESTI ja see css aitab s6nadel foldida sidekriipsuga */
h1, .foldText  {
  hyphens: auto;
  -webkit-hyphens: auto;
  overflow-wrap: break-word;
  word-break: break-word;
}



/* Square swiper pagination bullets */
.swiper-pagination-bullet {
  border-radius: 0 !important;
  width: 8px !important;
  height: 8px !important;
}

.swiper-pagination-bullet-active {
  border-radius: 0 !important;
  background-color: #C41E1E !important;
}


/* striped bg  */
#striped-bg {
    background: repeating-linear-gradient(45deg, #131517 0 3px, #0d0e0f 3px 9px);
}

/* striped2 bg  */
#striped2-bg {
    background: repeating-linear-gradient(135deg, #171a1d 0 3px, #131517 3px 9px);
}

/* striped bg  */
#striped3-bg {
    background: repeating-linear-gradient(45deg, #111315 0 3px, #0d0e0f 3px 9px);
}




/* slightly more visible stripes */
#striped4-bg {
    background: repeating-linear-gradient(45deg, #f9f9f9 0 3px, #ffffff 3px 9px);
}



/* stripes over image */
#stripes::before {
    content: '';
    position: absolute;
    inset: 0;
    background: repeating-linear-gradient(45deg, #131517 0 3px, transparent 3px 9px);
    pointer-events: none;
    z-index: 0;
    opacity: 10%;
}


/* Related services highlight on hover */
.related-service-card:hover .related-service-card-bg {
    background-color: #131517;
}



/* ============================================
   Portfolio strip — snap + scroll indicator
   ============================================ */

#portfolio-strip { -webkit-overflow-scrolling: touch; }

/* Snap only on touch devices — desktop drag stays free */
@media (hover: none) and (pointer: coarse) {
  #portfolio-strip { scroll-snap-type: x mandatory; }
  #portfolio-strip > .e-con { scroll-snap-align: start; }
}

/* Hide the native scrollbar — replaced by the dash indicator */
#portfolio-strip { scrollbar-width: none; -ms-overflow-style: none; }
#portfolio-strip::-webkit-scrollbar { display: none; }

/* Dash indicator */
#portfolio-dots {
  display: flex;
  justify-content: flex-start;
  gap: 6px;
  padding: 20px 20px 28px;
}
#portfolio-dots[hidden] { display: none; }

.portfolio-dot {
  flex: 1 1 0;
  min-width: 6px;
  max-width: 28px;
  height: 3px;
  background: var(--hairline-for-dark);
  cursor: pointer;
  transition: background .0s ease;
  -webkit-tap-highlight-color: transparent;
}

@media (hover: hover) and (pointer: fine) {
  .portfolio-dot:hover { background: var(--white); }
}

.portfolio-dot:focus-visible { background: var(--white); outline: none; }
.portfolio-dot.is-active { background: var(--red); }

@media (min-width: 1025px) {
  #portfolio-dots { padding: 24px 40px 32px; }
}

/* Desktop only: 3 cards fill the row, 4+ shrink to 30% and scroll */
@media (min-width: 1025px) {
  #portfolio-strip:has(> .e-con:nth-child(4)) { overflow-x: auto; }

  #portfolio-strip > .e-con:nth-last-child(n + 4),
  #portfolio-strip > .e-con:nth-last-child(n + 4) ~ .e-con {
    width: 30%;
    min-width: 30%;
  }
}

/* Grabbing cursor only while an actual drag is happening */
#portfolio-strip.is-dragging,
#portfolio-strip.is-dragging > .e-con { cursor: grabbing; }
#portfolio-strip.is-dragging { user-select: none; }

/* Card image layering */
#portfolio-strip > .e-con { position: relative; }

#portfolio-strip .elementor-widget-image {
  position: absolute;
  inset: 0;
  z-index: 0;
  margin: 0;
}
#portfolio-strip .elementor-widget-image,
#portfolio-strip .elementor-widget-image a { display: block; width: 100%; height: 100%; }
#portfolio-strip .elementor-widget-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

#portfolio-strip > .e-con::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255,255,255,0) 70%, #0d0e0f 100%);
  z-index: 1;
  pointer-events: none;
}

#portfolio-strip .e-heading-base,
#portfolio-strip .e-paragraph-base { position: relative; z-index: 2; }

#portfolio-strip img,
#portfolio-strip a { -webkit-user-drag: none; user-drag: none; }



/* ============================================
   MEGA MENU – NAV-MENU FIXES
   ============================================ */

/* 1. Force nav-menu dropdown containers open inside mega menu */
#openMenuInMega .elementor-nav-menu--dropdown.elementor-nav-menu__container {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: static !important;
    height: auto !important;
}

/* Expand all sub-menus by default */
#openMenuInMega .elementor-nav-menu--dropdown .sub-menu {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: static !important;
}

/* 2. Remove left border from nav-menu container (first level),
      move border to sub-menu only */
#openMenuInMega .elementor-nav-menu--dropdown {
    border: none !important;
}

#openMenuInMega .sub-menu.elementor-nav-menu--dropdown {
    border-left: 1px solid var(--hairline-for-light, #d3d4d2) !important;
}

/* 3. Submenu indicator arrow color = hairline-for-light */
#openMenuInMega .sub-arrow svg {
    fill: var(--hairline-for-light, #d3d4d2) !important;
}



/* MOBILE MENU ICON */

.menu-btn svg line {
  transform-box: view-box;
  transition: transform .25s ease, opacity .18s ease;
}
.menu-btn svg .t { transform-origin: 15px 7px; }
.menu-btn svg .m { transform-origin: 15px 15px; }
.menu-btn svg .b { transform-origin: 15px 23px; }

body.oc-open .menu-btn .t { transform: translateY(8px) rotate(45deg); }
body.oc-open .menu-btn .m { transform: rotate(-45deg); }
body.oc-open .menu-btn .b { opacity: 0; transform: translateY(-8px) rotate(-45deg); }



/* ===== OFF-CANVAS MENU: #offCanvasMenu ===== */

/* Chevrons hug the right edge */
#offCanvasMenu .elementor-nav-menu--dropdown .menu-item-has-children > a {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* Chevron icon smaller */
#offCanvasMenu .sub-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
#offCanvasMenu .sub-arrow svg {
  width: 0.5em !important;
  height: 0.5em !important;
}

/* Swap plus → minus when open, minus in red */
#offCanvasMenu a[aria-expanded="true"] > .sub-arrow svg {
  display: none;
}
#offCanvasMenu a[aria-expanded="true"] > .sub-arrow::after {
  content: '\2212 ';
  color: var(--cta-red-ember);
  font-size: 1.2em;
  font-weight: 300;
  line-height: 1;
}

/* Sub-menu background */
#offCanvasMenu .elementor-nav-menu--dropdown .sub-menu {
  background-color: var(--bg-panel) !important;
}

/* Sub-menu items: body-L-light style, muted text, smaller rows */
#offCanvasMenu .elementor-nav-menu--dropdown .sub-menu > li > a {
  font-family: var(--body), sans-serif !important;
  font-size: 1.125rem !important;
  font-weight: 400 !important;
  line-height: 160% !important;
  color: var(--txt-muted4Panel) !important;
  text-transform: none !important;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
  padding-left: 5% !important;
  padding-right: 5% !important;
  background-color: var(--bg-panel) !important;
}

/* Sub-menu hover: white text, bg stays bg-panel */
#offCanvasMenu .elementor-nav-menu--dropdown .sub-menu > li > a:hover {
  color: var(--white) !important;
  background-color: var(--bg-panel) !important;
}

/* Active sub-menu item: white text, bg stays bg-panel */
#offCanvasMenu .elementor-nav-menu--dropdown .sub-menu > li > a.elementor-item-active,
#offCanvasMenu .elementor-nav-menu--dropdown .sub-menu > li.current-menu-item > a {
  color: var(--white) !important;
  background-color: var(--bg-panel) !important;
}

/* Borders between sub-menu items — 10px inset */
#offCanvasMenu .elementor-nav-menu--dropdown .sub-menu > li {
  margin-left: 10px !important;
  margin-right: 10px !important;
  border-bottom: 1px solid var(--hairline-for-dark) !important;
}
#offCanvasMenu .elementor-nav-menu--dropdown .sub-menu > li:last-child {
  border-bottom: none !important;
}
#offCanvasMenu .elementor-nav-menu--dropdown .sub-menu > li:first-child {
  border-top: 1px solid var(--hairline-for-dark) !important;
}




/* ============================================
   TAB CONTENT MENUS – #tabMenu
   ============================================ */

/* 1. Force always open — dropdown layout containers */
[id="tabMenu"] .elementor-nav-menu--dropdown.elementor-nav-menu__container {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: static !important;
    height: auto !important;
}

/* 1b. Force sub-menus open (overrides SmartMenus inline styles) */
[id="tabMenu"] .sub-menu {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: static !important;
    height: auto !important;
    width: auto !important;
}

/* 2. First-level item styled as h-tab-title */
[id="tabMenu"] .elementor-nav-menu > .menu-item > a {
    font-family: var(--heading700) !important;
    font-size: clamp(0.9375rem, 0.9rem + 0.15vw, 1.0625rem) !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    padding-bottom: 1rem !important;
    padding-left: 0 !important;
}

/* Hide the submenu indicator on first-level item */
[id="tabMenu"] .elementor-nav-menu > .menu-item > a .sub-arrow {
    display: none !important;
}

/* 2b. First-level item hover/focus matches h-tab-subtitle */
[id="tabMenu"] .elementor-nav-menu > .menu-item > a:hover,
[id="tabMenu"] .elementor-nav-menu > .menu-item > a:focus-visible {
    color: var(--cta-red-ember) !important;
}

/* 3. Sub-menu items flush left under the heading */
[id="tabMenu"] .sub-menu {
    padding-left: 0 !important;
    margin-left: 0 !important;
    border: none !important;
}

[id="tabMenu"] .sub-menu a {
    padding-left: 0 !important;
}


/* HIGHLIGHT CONTACT DETAILS ON HOVER */

#contactDiv:hover .contactDetail {
  color: #d3d4d2;
}



/* ── Kill all CSS transitions sitewide ───────────────────────── */
*, *::before, *::after {
  transition: none !important;
}

/* ── Except the ones built on purpose ────────────────────────── */

/* mobile menu icon: hamburger → X */
.menu-btn svg line {
  transition: transform .25s ease, opacity .18s ease !important;
}

/* portfolio dot indicator */
.portfolio-dot {
  transition: background .2s ease !important;
}

/* contact card icon */
.elementor-widget.contact-card__icon {
  transition: background-color .2s ease !important;
}



/* ── BREADCRUMBS
───────────────────────── */


.bc .rank-math-breadcrumb p {
  margin: 0;
  display: inline-flex;        /* changed from flex */
  align-items: center;
  gap: 10px;
  flex-wrap: nowrap;           /* changed from wrap */
  min-width: 100%;             /* new — short breadcrumbs stay left-aligned */
  direction: ltr;              /* new — counters the rtl on the nav */
  white-space: nowrap;         /* new */
  font-family: 'Big Shoulders Bold', sans-serif;
  font-weight: 700;
  font-size: 0.875rem;
  letter-spacing: 1.2px;
  line-height: 165%;
  text-transform: uppercase;
  color: #8f9498;
}
.bc .rank-math-breadcrumb a { color: #8f9498; text-decoration: none; }
.bc .rank-math-breadcrumb a:hover { color: #ffffff; }
.bc .rank-math-breadcrumb .separator { color: #46494c; }
.bc .rank-math-breadcrumb .last { color: #ffffff; }

/* one line, touch-scrollable, opens scrolled to the end */
.bc .rank-math-breadcrumb {
  direction: rtl;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.bc .rank-math-breadcrumb::-webkit-scrollbar { display: none; }
.bc .rank-math-breadcrumb p > * { flex: 0 0 auto; }

@supports (animation-timeline: scroll(self inline)) {
  .bc .rank-math-breadcrumb {
    animation: bc-fade-left linear;
    animation-timeline: scroll(self inline);
  }
  @keyframes bc-fade-left {
    from, 85% {
      -webkit-mask-image: linear-gradient(to right, transparent 0, #000 56px);
              mask-image: linear-gradient(to right, transparent 0, #000 56px);
    }
    to {
      -webkit-mask-image: linear-gradient(to right, #000 0, #000 0);
              mask-image: linear-gradient(to right, #000 0, #000 0);
    }
  }
}




/* ── LEFT SIDE MENU sub services ───────────────────────── */

#leftSideMenu .elementor-nav-menu > .menu-item > a {
  display: flex !important;
  align-items: center;
  gap: 16px;
}

/* Gray dash — always visible */
#leftSideMenu .elementor-nav-menu > .menu-item > a::before {
  content: '' !important;
  position: static !important;
  display: block !important;
  flex-shrink: 0 !important;
  width: 24px !important;
  height: 2px !important;
  background: var(--hairline-for-light, #d3d4d2) !important;
  opacity: 1 !important;
  transform: none !important;
  transition: background-color 0.2s ease !important;
}

/* Red dash — active + ancestor */
#leftSideMenu .elementor-nav-menu > .menu-item.current-menu-item > a::before,
#leftSideMenu .elementor-nav-menu > .menu-item.current-menu-ancestor > a::before {
  background: var(--cta-red-ember, #C41E1E) !important;
}

/* Red dash — hover */
#leftSideMenu .elementor-nav-menu > .menu-item > a:hover::before {
  background: var(--cta-red-ember, #C41E1E) !important;
}

/* ── LEFT SIDE EXTRA — hide current ancestor ── */
#leftSideExtra .elementor-nav-menu > .menu-item.current-menu-ancestor,
#leftSideExtra .elementor-nav-menu > .menu-item.current-menu-item,
#leftSideExtra .elementor-nav-menu > .menu-item.current-page-ancestor,
#leftSideExtra .elementor-nav-menu > .menu-item.current-page-parent {
  display: none;
}

/* ── Hairline dividers between menu items — both menus ── */
#leftSideMenu .elementor-nav-menu > .menu-item + .menu-item,
#leftSideExtra .elementor-nav-menu > .menu-item + .menu-item {
  border-top: 1px solid #e2e2e0;
}



/* ── leftSideMenu → scrollable pills on mobile ─────── */
@media (max-width: 767px) {

  /* Scrollable row container */
  #leftSideMenu .elementor-nav-menu--main,
  #leftSideMenu .elementor-nav-menu--dropdown.elementor-nav-menu__container {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  #leftSideMenu .elementor-nav-menu--main::-webkit-scrollbar,
  #leftSideMenu .elementor-nav-menu--dropdown.elementor-nav-menu__container::-webkit-scrollbar {
    display: none;
  }

  /* UL → horizontal nowrap flex row */
  #leftSideMenu .elementor-nav-menu {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
  }

  /* Remove vertical hairline dividers */
  #leftSideMenu .elementor-nav-menu > .menu-item + .menu-item {
    border-top: none !important;
  }

  /* Items don't shrink */
  #leftSideMenu .elementor-nav-menu > .menu-item {
    flex-shrink: 0 !important;
  }

  /* Kill the dash ::before */
  #leftSideMenu .elementor-nav-menu > .menu-item > a::before {
    display: none !important;
  }

  /* Pill base — matches tabMainItems mobile variant */
  #leftSideMenu .elementor-nav-menu > .menu-item > a {
    display: block !important;
    padding: 12px 16px !important;
    border: 1px solid var(--hairline-for-light, #d3d4d2) !important;
    background: var(--white, #ffffff) !important;
    color: var(--txt-heading-dark, #14161a) !important;
    white-space: nowrap !important;
    font-family: 'Big Shoulders Bold', sans-serif !important;
    font-size: clamp(0.8125rem, 0.78rem + 0.15vw, 0.9375rem) !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    line-height: 165% !important;
    position: static !important;
    opacity: 1 !important;
    transform: none !important;
  }

  /* Active pill — dark bg, white text */
  #leftSideMenu .elementor-nav-menu > .menu-item.current-menu-item > a,
  #leftSideMenu .elementor-nav-menu > .menu-item.current-menu-ancestor > a {
    background: var(--txt-heading-dark, #14161a) !important;
    color: var(--white, #ffffff) !important;
    border-color: var(--txt-heading-dark, #14161a) !important;
  }

  /* Hover — darker border */
  #leftSideMenu .elementor-nav-menu > .menu-item > a:hover {
    border-color: var(--hairline-for-dark, #26292c) !important;
  }
}



/* Sub-service card hover -> bg change */
.subServiceCard:hover .subServiceCardBg {
  background-color: #f4f4f3;
}


/* loetavuse kiht — see on see, mida vaja */
#hero-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,
    rgba(13,14,15,0.94) 0%,
    rgba(13,14,15,0.72) 44%,
    rgba(13,14,15,0.15) 100%);
}

/* === VORDLUSTABEL: sildiveeru joon === */
/* Sildiveeru 2px joon ja jargmise lahtri oma satuvad kohakuti -
   vota naabri joon maha, muidu on serv kaks korda paksem.
   Kolm klassi on vajalikud: Elementori enda .elementor .table-cell on (0,2,0) ja laeb hiljem. */
.table-wrap > .table-row > .table-cell-label + .table-cell { border-inline-start-width: 0; }


/* === TEHTUD TÖÖ — üksikleht === */
#tooSisu .elementor-widget-theme-post-content{font-family:var(--body),sans-serif;font-size:1rem;line-height:170%;color:var(--txt-heading-dark);}
#tooSisu h2{font-family:var(--heading700),sans-serif;font-size:clamp(1.75rem,1.5rem + 1.1vw,2.5rem);line-height:110%;color:var(--txt-heading-dark);margin:0 0 1rem;}
#tooSisu h3{font-family:var(--heading700),sans-serif;font-size:clamp(1.4375rem,1.3783rem + 0.2632vw,1.5625rem);line-height:115%;color:var(--txt-heading-dark);margin:1.75rem 0 .75rem;}
#tooSisu p{margin:0 0 1.25rem;}
#tooSisu p:last-child{margin-bottom:0;}
#tooSisu ul,#tooSisu ol{margin:0 0 1.25rem 1.25rem;}
#tooSisu a{color:var(--cta-red-ember);}

/* detailpildid täidavad oma kaadri */
#tooPildid .elementor-widget-image,#tooPildid .elementor-widget-image .elementor-widget-container{width:100%;height:100%;}
#tooPildid .elementor-widget-image img{width:100%;height:100%;object-fit:cover;display:block;}





/* ============================================================
   Tehtud tööd — filtririba horisontaalse kerimise vihje
   Widget: taxonomy-filter 7a3051a (mall 11357)
   ============================================================ */

/* lubab hajumise laiust animeerida (peab olema väljaspool media queryt) */
@property --mtk-fade{
  syntax:"<length>";
  inherits:false;
  initial-value:52px;
}

/* --- 1. scroll → auto: kerimisriba ainult siis, kui sisu ei mahu --- */
.elementor-element.elementor-widget.elementor-widget-taxonomy-filter.elementor-element-7a3051a{
  --e-filter-overflow-x:auto;
}

/* --- 2. Elementor peidab kerimisriba jõuga — võtame tagasi --- */
.elementor-widget-taxonomy-filter.elementor-element-7a3051a .e-filter{
  scrollbar-width:thin;
  scrollbar-color:#8F9498 rgba(255,255,255,.12);
  -ms-overflow-style:auto;
  scroll-snap-type:x proximity;
}
.elementor-widget-taxonomy-filter.elementor-element-7a3051a .e-filter-item{
  scroll-snap-align:start;
}

/* --- 3. Hajuv parem serv + nool (tahvel ja mobiil) --- */
@media (max-width:1024px){
  .elementor-widget-taxonomy-filter.elementor-element-7a3051a{
    position:relative;
  }
  .elementor-widget-taxonomy-filter.elementor-element-7a3051a .e-filter{
    -webkit-mask-image:linear-gradient(to right,#000 calc(100% - var(--mtk-fade)),transparent);
            mask-image:linear-gradient(to right,#000 calc(100% - var(--mtk-fade)),transparent);
  }
  .elementor-widget-taxonomy-filter.elementor-element-7a3051a::after{
    content:"";
    width:8px;
    height:8px;
    border-right:2px solid #FFFFFF;
    border-bottom:2px solid #FFFFFF;
    position:absolute;
    right:8px;
    top:calc(50% - 4px);
    transform:translateY(-50%) rotate(-45deg);
    pointer-events:none;
    animation:mtkTabNudge 1.8s ease-in-out infinite;
  }
  @keyframes mtkTabNudge{
    0%,100%{transform:translate(0,-50%) rotate(-45deg)}
    50%    {transform:translate(4px,-50%) rotate(-45deg)}
  }
}

/* --- 4. Lõppu keritult kaovad nii hajumine kui nool --- */
@supports (animation-timeline:scroll()){
  @media (max-width:1024px){
    .elementor-widget-taxonomy-filter.elementor-element-7a3051a{
      timeline-scope:--mtkFilter;
    }
    .elementor-widget-taxonomy-filter.elementor-element-7a3051a .e-filter{
      scroll-timeline:--mtkFilter inline;
      animation:mtkFadeOut linear both;
      animation-timeline:--mtkFilter;
      animation-range:80% 100%;
    }
    @keyframes mtkFadeOut{
      to{--mtk-fade:0px}
    }
    .elementor-widget-taxonomy-filter.elementor-element-7a3051a::after{
      animation:mtkTabNudge 1.8s ease-in-out infinite, mtkArrowOut linear both;
      animation-timeline:auto,--mtkFilter;
      animation-range:normal,80% 100%;
    }
    @keyframes mtkArrowOut{
      to{opacity:0}
    }
  }
}

/* --- 5. Vähendatud liikumine: nool ei võbele, aga kaob ikka --- */
@media (prefers-reduced-motion:reduce){
  .elementor-widget-taxonomy-filter.elementor-element-7a3051a::after{
    animation:mtkArrowOut linear both;
    animation-timeline:--mtkFilter;
    animation-range:80% 100%;
  }
}





/* Atomic form status messages: replace the browser's default focus ring */
.message-success:focus,
.message-success:focus-visible,
.message-error:focus,
.message-error:focus-visible {
  outline: none;
}

/* === TEKSTISISESED LINGID (body-M-dark lõigud, nt privaatsuspoliitika) === */
/* Atomic e-paragraph ei stiili sisemisi linke - ilma selleta on link tekstiga sama värvi ja allajoonimata. */
.elementor .body-M-dark a { color: inherit; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.elementor .body-M-dark a:hover { color: var(--cta-red-ember); }/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Big Shoulders Bold';
	font-style: normal;
	font-weight: 700;
	font-display: auto;
	src: url('https://metallitookoda.ee/wp-content/uploads/2026/08/BigShoulders-Bold.ttf') format('truetype');
}
/* End Custom Fonts CSS */