/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 1.0.1
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/*
    Add your custom styles here
*/

:root {
 --padding-small: 2.5rem;
 --padding-medium: 3.5rem;
 --padding-large: 7rem;
 --max-content-width: 83vw;
 --content-width: 1200px;
 --side-padding: calc((100vw - var(--max-content-width)) / 2);
}

@media only screen and (max-width: 1024px) {
	:root {
	 --padding-small: 1.5rem;
	 --padding-medium: 2rem;
	 --padding-large: 4rem;
	}
}

@media only screen and (max-width: 767px) {
	:root {
	 --padding-small: 1rem;
	 --padding-medium: 1.5rem;
	 --padding-large: 2.5rem;
	}
}

.label-default {
    background-color: #777777cf;
    max-width: 87%;
}


/* Visualiser */ 

.sidebar {
    background-color: #ffffff;
    box-shadow: none;
    border-radius: 0px 20px 0px 0px;
}

#main-sidebar .btn.btn-dark:hover {
  color: #fff !important;
}

#view_2 .option {
    border-radius: 16px !important;
    border: 1px solid transparent !important;
}

.visualiser-section .option:hover {
    box-shadow: inset 0px 0px 1px #939398;
 
    background: #FFF;
}

.visualiser-section .option  {
	    border: 1px solid transparent !important;
}

/* spacing */
.e-con>.e-con-inner {
    width: var(--max-content-width);
    max-width: var(--content-width);
}

.wide.e-con>.e-con-inner {
    width: var(--content-width);
}

/* padding */
.pt-lg {
	padding-top: var(--padding-large);
}

.pt-md {
	padding-top: var(--padding-medium);
}

.pt-sm {
	padding-top: var(--padding-small);
}

.pb-lg {
	padding-bottom: var(--padding-large);
}

.pb-md {
	padding-bottom: var(--padding-medium);
}

.pb-sm {
	padding-bottom: var(--padding-small);
}

@media only screen and (max-width: 1024px) {
	.pt-none-md {
		padding-bottom: 0;
	}
	.pb-none-md {
		padding-bottom: 0;
	}
}

@media only screen and (max-width: 767px) {
	.pt-none-sm {
		padding-bottom: 0;
	}
	.pb-none-sm {
		padding-bottom: 0;
	}
}


/* Base rule — DO NOT force display on all screens */
.menubutton {
  width: 50px !important;
  height: 50px;
  display: flex; /* no !important */
  align-items: center;
  justify-content: center;
  text-align: center;
  cursor: pointer;
}

/* Keep icon centered visually */
.menubutton i,
.menubutton svg {
  display: block;
  line-height: 1;
  margin: 0 auto;
}

/* Optional: ensure it doesn't affect desktop visibility */
@media (min-width: 1025px) {
  .menubutton {
    display: none !important; /* or revert to whatever Elementor hides them with */
  }
}


.productslider .swiper-pagination-bullet {
    width: 8px !important;
    height: 8px !important;
    background: #D1D5DB !important;
    opacity: 1 !important;
    border-radius: 6px !important;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
    margin: 0 6px !important;
}

.productslider .swiper-pagination-bullet-active {
    width: 24px !important;
    background: #3B49DF !important;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.productslider .swiper-pagination-bullet:not(.swiper-pagination-bullet-active):hover {
    background: #9CA3AF !important;
    transform: scale(1.1) !important;
}

/* === CASEGRID PAGINATION (compact + centered) === */
.casegrid .elementor-pagination {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #f2f2f2 !important;
  padding: 4px 5px !important;
  border-radius: 14px !important;
  gap: 8px !important;
  margin: 40px auto 0 auto !important;
  width: fit-content !important;
}

/* Page numbers */
.casegrid .elementor-pagination .page-numbers {
    width: 38px !important;
    height: 38px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 12px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #333 !important;
    background: transparent !important;
    text-decoration: none !important;
    transition: all 0.25s ease !important;
}

/* Active page */
.casegrid .elementor-pagination .page-numbers.current {
  background: #fff !important;
  color: #2740EE !important;

}

/* Hover */
.casegrid .elementor-pagination .page-numbers:hover {
  background: #fff !important;
  color: #2740EE !important;
  transform: translateY(-1px);
}

/* === HARD OVERRIDE FOR POST CONTENT H3s === */
.elementor-widget-theme-post-content .elementor-widget-container h3.wp-block-heading.has-vivid-cyan-blue-color.has-text-color,
.elementor-widget-theme-post-content .elementor-widget-container h3 , .elementor-widget-theme-post-content .elementor-widget-container h2 {
  /* Reset Elementor variable styles */
  --e-global-typography-primary-font-family: 'Figtree' !important;
  --e-global-typography-primary-font-weight: 500 !important;
  --e-global-typography-primary-text-transform: uppercase !important;
  --e-global-typography-primary-letter-spacing: -0.03em !important;
  --e-global-typography-primary-font-size: 20px !important;
  --e-global-typography-primary-line-height: normal !important;
  --e-global-typography-primary-color: #111111 !important;

  /* Force computed styles */
  font-family: 'Figtree', sans-serif !important;
  font-weight: 500 !important;
  font-size: 20px !important;
  line-height: normal !important;
  letter-spacing: -0.03em !important;
  text-transform: uppercase !important;
  color: #888888 !important;
  margin-top: 1.5em !important;
  margin-bottom: 0.8em !important;
}

/* Hero swiper height fix */
.homehero .elementor-widget-image-carousel .swiper .swiper-slide figure { height: 70vh; }

/* Home Hero CSS */
.herocontainer {
    pointer-events: none;
}

.herocontainer button,
.herocontainer a,
.herocontainer .elementor-button {
    pointer-events: auto !important; /* Re-enable clicks for buttons */
}

.hero-bg-swiper {
    position: relative;
    max-height: 90vh;
    width: 100%; /* Changed from fixed 1440px */
    height: 80vh;
    overflow: hidden; /* Prevents any overflow */
}

/* Make sure the swiper wrapper fills the container */
.hero-bg-swiper .swiper-wrapper {
    height: 100%;
}

/* Make slides fill completely */
.hero-bg-swiper .swiper-slide {
    height: 100%;
    width: 100%;
}

/* Make images fill the slide edge-to-edge */
.hero-bg-swiper .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* This is key - covers the area while maintaining aspect ratio */
    display: block; /* Removes any inline spacing */
}

/* Your overlay */
.hero-bg-swiper::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
background:
  linear-gradient(to bottom,
    rgba(0,0,0,0) 0%,
    rgba(0,0,0,0) 70%,
    rgba(0,0,0,0.35) 85%,
    rgba(0,0,0,0.65) 100%
  ),
  radial-gradient(120% 160% at 0% 100%,
    rgba(0,0,0,0.20) 0%,
    rgba(0,0,0,0.08) 35%,
    rgba(0,0,0,0) 60%
  );

    pointer-events: none;
    z-index: 1;

}

/* Content above overlay */
.hero-bg-swiper > * {
    position: relative;

}


.hero-bg-swiper .swiper-pagination-bullet {
    width: 8px !important;
    height: 8px !important;
    background: #D1D5DB !important;
    opacity: 1 !important;
    border-radius: 6px !important;
  
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
    margin: 0 6px !important;
}

.hero-bg-swiper .swiper-pagination-bullet-active {
    width: 24px !important;
    background: #3B49DF !important;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.hero-bg-swiper .swiper-pagination-bullet:not(.swiper-pagination-bullet-active):hover {
    background: #9CA3AF !important;
    transform: scale(1.1) !important;
}

.hero-bg-swiper .swiper-pagination {
z-index: 4!important;
    margin-top: 30px !important;
}

.hero-bg-swiper .elementor-element .swiper .swiper-horizontal>.swiper-pagination-bullets, .elementor-element .swiper .swiper-pagination-bullets.swiper-pagination-horizontal, .elementor-element .swiper .swiper-pagination-custom, .elementor-element .swiper .swiper-pagination-fraction, .elementor-element .swiper~.swiper-pagination-bullets.swiper-pagination-horizontal, .elementor-element .swiper~.swiper-pagination-custom, .elementor-element .swiper~.swiper-pagination-fraction, .elementor-lightbox .swiper .swiper-horizontal>.swiper-pagination-bullets, .elementor-lightbox .swiper .swiper-pagination-bullets.swiper-pagination-horizontal, .elementor-lightbox .swiper .swiper-pagination-custom, .elementor-lightbox .swiper .swiper-pagination-fraction, .elementor-lightbox .swiper~.swiper-pagination-bullets.swiper-pagination-horizontal, .elementor-lightbox .swiper~.swiper-pagination-custom, .elementor-lightbox .swiper~.swiper-pagination-fraction {
    bottom: 33px!important;

}

.hero-bg-swiper .swiper-image-stretch .swiper-slide-image,
.elementor-lightbox .swiper-image-stretch .swiper-slide-image {
  min-height: 90vh !important;
}

body:not(.rtl):has(.hero-bg-swiper) [data-id="9c5246f"] {

  min-height: 80vh !important;
}


@media (min-width: 1025px) {
  .hero-bg-swiper .swiper-image-stretch .swiper-slide-image {
    min-height: 90vh !important;
  }
	
	body:not(.rtl):has(.hero-bg-swiper) [data-id="9c5246f"] {
    min-height: 90vh !important;

}
}






@media (max-width: 768px) {
	body:not(.rtl):has(.hero-bg-swiper) [data-id="9c5246f"] {

  min-height: 90vh !important;
}
	
    .hero-bg-swiper {
        height: 600px !important;
        max-height: 600px !important;
        min-height: 600px !important;
    }
    
    .hero-bg-swiper .swiper-wrapper {
        height: 100% !important;
        min-height: 600px !important;
    }
    
    .hero-bg-swiper .swiper-slide {
        height: 100% !important;
        min-height: 600px !important;
    }
    
    .hero-bg-swiper .swiper-slide img {
        width: 100% !important;
        height: 100% !important;
        min-height: 600px !important;
        object-fit: cover !important;
        object-position: center center !important;
    }
}


/* How it works responsive fix */
/* Desktop (≥1190px): 40% / 60% split */
@media (min-width: 1190px) {
  .howit-grid {
    display: grid !important;
    grid-template-columns: 40% 60% !important;
    grid-template-rows: 1fr !important;
    grid-auto-flow: row !important;
  }
}

/* Tablet/Mobile (≤1189px): stack vertically */
@media (max-width: 1189px) {
  .howit-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto !important;
  }
}


/* CTA button */
/* Bigger icon but keep text centered */
.ctabutton .elementor-button-content-wrapper {
  display: flex;
  align-items: center;      /* vertical align */
  justify-content: center;  /* optional: center everything horizontally */
  gap: 10px!important;                /* adjust spacing between icon & text */
}

/* Icon size */
.ctabutton .elementor-button-icon svg {
  width: 28px !important;
  height: 28px !important;
  flex-shrink: 0;           /* prevents text pushing the icon */
}

/* Optional: keep icon background balanced */
.ctabutton .elementor-button-icon {
  display: flex;
  align-items: center;
  justify-content: center;
}


/* Visualisor and Cat Cards */

/* ===== Base card reset ===== */
.visual-card {
  border-radius: 12px;
  transition: all 0.25s ease;
}

/* kill all browser link styles inside */
.visual-card,
.visual-card *,
.visual-card a,
.visual-card a:visited,
.visual-card a:hover,
.visual-card a:focus {
  color: inherit !important;
  text-decoration: none !important;
}

/* ===== Hover state ===== */
.visual-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.06);
}

/* custom heading color on hover */
.visual-card:hover > div {
  color: #000000 !important;
}

/* ===== Icon flip (works for SVG + Font Awesome) ===== */
.visual-card:hover .elementor-icon {
  background-color: #2740EE !important;
}

.visual-card:hover .elementor-icon i,
.visual-card:hover .elementor-icon svg {
  color: #FFFFFF !important;
  fill: #FFFFFF !important;
  transition: all 0.25s ease;
}

/* Universal blur panel */
.blurbg{
  /* Fallback (for browsers without backdrop-filter) */
  background: rgba(18,18,18,.35);
  border: 1px solid rgba(255,255,255,.08);
  isolation: isolate;
  overflow: visible;
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
}

/* Optional: only tweak fallback when blur isn't supported */
@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
  .blurbg{ background: rgba(18,18,18,.45); }
}



.cardlink:hover a {
    text-decoration: none;
}


.valuecard {
  transition: background-color 0.3s ease, color 0.3s ease;
}

.valuecard * {
  transition: color 0.3s ease;
}

.valuecard:hover {
  background-color: #FFF !important;
  color: #2740EE !important;
}

.valuecard:hover * {
  color: #2740EE !important;
}


.carddescrip {
  display: -webkit-box;
  -webkit-line-clamp: 2; /* change number for more lines */
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}


#booknow { scroll-margin-top: 100px; } /* adjust to your header height */


/* Base state */
.cardlink,
.carddescrip {
  transform: translateY(0);
  transition: transform 0.7s cubic-bezier(0.25, 1, 0.3, 1), opacity 0.5s ease;
  will-change: transform;
}

/* Hover animation — small stagger for realism */
.casestudy-card:hover .cardlink {
  transform: translateY(4px);
  transition-delay: 0.05s;
}

.casestudy-card:hover .carddescrip {
  transform: translateY(2px);
  transition-delay: 0.12s;
  opacity: 0.95;
} 


.thumb-new:after {

    top: 15px;
    line-height: 1.2;
}

.thumb {
    width: 80px;
    color: #111111 !important;
    FONT-WEIGHT: 500;

    border: none;
	    border-radius: 12px;
}

.btn.btn-dark {
    background-color: #2740ee;
    background-image: none;
    color: #fff;
	    border-radius: 12px ! Important;
}


.top-nav .title {

    color: #b5b5b5;
}


.top-nav .col-xs-8 {

    gap: 10px;
}


.thumb:hover {
	background: #EFF0FD; 
	color: #2740ee!important;
}

.btn.btn-dark:hover {
    color: #2740ee;

}

small {
font-family: 'Figtree' !important;
    font-size: 22px !important;
    text-transform: none;
    letter-spacing: -0.03em;
    display: block;
    line-height: 120% !important;
    padding-top: 1rem;
}

@media (max-width: 768px) {
	
	.btn.btn-dark {

    
}
	
.top-nav .col-xs-8 {
        display: flex
;
        flex-flow: wrap;
        align-items: center;
        gap: 10px;
        flex-direction: row;
        align-content: center;
        flex-wrap: wrap;
        justify-content: center;
}
.col-xs-8 {
    width: 100%;
}
	
	
	.col-xs-4 {
    width: 100%;
    text-align: center;
}
	
	.top-nav .title {
   padding-bottom: 1rem;
    padding-top: 2rem;
}
	
	.visualiser-section h1, .visualiser-section h2, .visualiser-section h3 {

    padding-top: 1.5rem;
}
}

.table-style {

    padding: 2rem;
transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1);

    background: #FFF;
}

.top-nav .title {
  
    padding-left: 1rem;
}

.table-style:hover {
	transform: scale(1.05);

	box-shadow: 0px 20px 60px #e5e8ff;

}




.visualiser-section .option:hover {

    border: none;

}

.option.animated a {
  text-decoration: none !important;
}


.visualiser-section a,
.visualiser-section a *,
.visualiser-section a:hover,
.visualiser-section a:hover *,
.visualiser-section a:focus,
.visualiser-section a:focus *,
.visualiser-section a:active,
.visualiser-section a:active * {
  text-decoration: none !important;
  border: none !important;
  box-shadow: none !important;
  outline: none !important;

}

.thumb .thumb-container img {
    width: 100%;
    position: absolute;
    bottom: 10px;
    left: 0;
    object-fit: contain;
    object-position: center center;
    position: absolute;

    width: 100%;
    height: 100%;
    object-fit: contain;
}


#table-thumb .thumb-container img {

    object-fit: cover;
    object-position: bottom;
    transform: none;
        top: -14px;
    width: 100%;
    position: absolute;
    /* bottom: 20px; */
    left: 0;
    object-fit: contain;
    object-position: center center;
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.hint-tooltip-container small {
  font-size: 15px !important; 

}


.option-title {
    padding: 4px 8px 5px;
    position: absolute;
    left: 8px;
    top: 10px;
    font-size: 12px;
    font-weight: 500;
    border-radius: 6px;
}

.btn .btn-dark .btn-block: hover {
	color: #FFF!Important;
}

.visualiser-section {
  overflow-x: hidden !important;
  overscroll-behavior-x: none;
}


* {

  font-synthesis: none !important;

}




html, body {
  width: 100%;
  max-width: 100%;
  overflow-x: clip;          /* stronger & cleaner than hidden */
  overscroll-behavior-x: none;
  touch-action: pan-y;       /* disables horizontal mouse/trackpad pan */
  overscroll-behavior-y: auto;
}



.loopgrid-news .swiper,
.loopgrid-news .swiper-wrapper,
.loopgrid-news .swiper-slide {
  box-sizing: border-box !important;
}

.loopgrid-news .swiper-wrapper {
  gap: 0 !important;
  margin: 0 !important;
}

.loopgrid-news3 .swiper {
    overflow: hidden !important;
}

@media (max-width: 767px) {
.loopgrid-news3 .swiper {
overflow: visible!important;
	} }


.loopgrid-news3 .swiper { 
	padding-bottom: 0!Important; }
}
.alt-color-light { color: #C5CDFF;}


.product-card {

	padding: 0px 11px 0px 22px !important; }



/* --- Kill Elementor's nested padding only in the header --- */
.headercapital .elementor-element.elementor-element-338d2527 > .e-con-inner {
  max-width: 100% !important;
  width: 100% !important;
  padding-inline: 0 !important;
  margin-inline: 0 !important;
  --padding-left: 0 !important;
  --padding-right: 0 !important;
  box-sizing: border-box;
  transition: padding-inline 0.3s ease;
}

/* --- Custom controlled padding (animated smoothly) --- */
@media (min-width: 1025px) and (max-width: 1144px) {
  .headercapital .elementor-element.elementor-element-338d2527 > .e-con-inner {
    padding-inline: 2rem !important;
  }
}

@media (min-width: 1145px) {
  .headercapital .elementor-element.elementor-element-338d2527 > .e-con-inner {
    padding-inline: 7.5vw !important;
  }
}


@media (min-width: 1024px) {
  .productslider .swiper-pagination {
    display: none !important;
  }
}

@media (min-width: 1024px) {
  .studiesslider .swiper-pagination {
    display: none !important;
  }
}

.similaritems .loop-nav {
	background: #EEEEEE!important
}

@media (max-width: 767px) {
    .filter-pills-container.e-con {
  
        padding: 0!important;
     
    }
}

/* =========================================================
   CDW – Dynamic Posts (DCE) Feature/Option Icons
   Target: elementor-9431 / elementor-element-0e965c5
   Behavior: FLEX ROW + WRAP (no grid), tight spacing, fixed icon box
   ========================================================= */

/* ---- knobs ---- */
:root{
  --cdw-gap: 10px;        /* spacing between items */
  --cdw-min-tile: 60px;   /* smallest tile before wrapping */
  --cdw-icon-w: 48px;     /* icon box width  */
  --cdw-icon-h: 33px;     /* icon box height */
}

/* Force all DCE wrappers into a flex row that wraps (kill grid) */
.elementor-9431 .elementor-element.elementor-element-0e965c5 .dce-posts-container,
.elementor-9431 .elementor-element.elementor-element-0e965c5 .dce-posts-container .dce-posts-wrapper,
.elementor-9431 .elementor-element.elementor-element-0e965c5 .dce-posts-container .dce-posts{
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;         /* use flex-start if you prefer */
  justify-content: flex-start !important;
  gap: var(--cdw-gap) !important;
  margin: 0 !important;
  padding: 0 !important;
  column-gap: 0 !important;  /* neutralize any grid gaps */
  row-gap: var(--cdw-gap) !important;
}

/* Remove item gutters and any 100% widths/basis */
.elementor-9431 .elementor-element.elementor-element-0e965c5 .dce-posts-container .dce-post-item,
.elementor-9431 .elementor-element.elementor-element-0e965c5 .dce-posts-container .dce-item{
  box-sizing: border-box;
  padding: 0 !important;
  margin: 0 !important;
  width: auto !important;
  max-width: none !important;
  flex: 0 1 auto !important;              /* sit inline, allow wrap */
  min-width: var(--cdw-min-tile);
}

/* Undo inner blocks that force 100% width */
.elementor-9431 .elementor-element.elementor-element-0e965c5 .dce-posts-container .dce-post-item > a,
.elementor-9431 .elementor-element.elementor-element-0e965c5 .dce-posts-container .dce-post-item .dce-item > a,
.elementor-9431 .elementor-element.elementor-element-0e965c5 .dce-posts-container .dce-post-item figure{
  display: inline-flex !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Consistent icon box */
.dce-posts .dce-item .dce-meta-image{
  width: var(--cdw-icon-w);
  height: var(--cdw-icon-h);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 0;                            /* remove baseline gap */
}

/* Scale icon inside the box */
.dce-posts .dce-item .dce-meta-image img,
.dce-posts .dce-item .dce-meta-image svg{
  width: auto !important;
  height: 100% !important;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

/* Optional: tighten item inner layout if the card template adds gaps */
.dce-posts .dce-item{ gap: 8px; }

/* Responsive tweaks */
@media (max-width: 600px){
  :root{
    --cdw-gap: 8px;
    --cdw-min-tile: 60px;
  }
  .dce-posts .dce-item .dce-meta-image{
    width: 44px;
    height: 30px;
  }
}

/* ===== Center every tile perfectly ===== */

/* Make each tile a centering box */
.elementor-9431 .elementor-element.elementor-element-0e965c5
  .dce-posts-container .dce-post-item{
  display: inline-flex !important;     /* tile itself */
  align-items: center !important;
  justify-content: center !important;
  line-height: 0 !important;           /* kill baseline gap */
  text-align: center !important;
  min-height: var(--cdw-icon-h);       /* same height as icon box */
  min-width: var(--cdw-min-tile);      /* your wrap width */
}

/* DCE sometimes wraps meta in this div – center it too */
.elementor-9431 .elementor-element.elementor-element-0e965c5
  .dce-posts-container .dce-post-item .dce-post-custommeta{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100%;
  height: 100%;
  line-height: 0 !important;
}

/* Your icon box (unchanged, but add display:block to media) */
.dce-posts .dce-item .dce-meta-image{
  width: var(--cdw-icon-w);
  height: var(--cdw-icon-h);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
}

/* Absolutely center the graphic inside the box */
.dce-posts .dce-item .dce-meta-image img,
.dce-posts .dce-item .dce-meta-image svg{
  display: block !important;           /* removes inline descender space */
  width: auto !important;
  height: 100% !important;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  object-position: center center;      /* explicit centering */
}

/* Optional: if any figure/a forces its own box, neutralize it */
.elementor-9431 .elementor-element.elementor-element-0e965c5
  .dce-posts-container .dce-post-item figure,
.elementor-9431 .elementor-element.elementor-element-0e965c5
  .dce-posts-container .dce-post-item > a{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0 !important;
}

.dce-meta-image {
	background: #FFFFFF!important;
	padding: .3rem;
	border-radius: 12px!Important;
}

/* Let horizontal swipes flow; stop native image drag/select on cards */
.studiesslider .swiper,
.studiesslider .swiper-slide,
.studiesslider .swiper-slide *{
  touch-action: pan-y pinch-zoom;
}
.studiesslider .swiper-slide img{
  -webkit-user-drag: none;
  user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  pointer-events: auto; /* keep links clickable */
}

/* filter pill fix */
.elementor-9403 .elementor-element.elementor-element-435e858 {

    max-width: 1280px ! Important;
}
.elementor-9235 .elementor-element.elementor-element-b866027 {
	 max-width: 1280px ! Important; 
}




@media (max-width: 1560px){
.filter-pills-container-inner .e-con-inner {

    padding-left: 12vw!important; 
	}

.filter-rail-host, .filter-rail-host-inner {

    padding-left: 12vw;
}  }

@media (max-width: 767px) {
    .elementor-9235 .elementor-element.elementor-element-96a9071.elementor-element {

        padding-left: 2rem;
    }
}

@media (max-width: 767px) {
    .productimagemobile {
        scale: 1.2;
    }
}


.postborder .swiper-autoheight, .swiper-autoheight .swiper-slide {
 
    border-radius: 22px;
    min-height: 450px;
    
}

.postborder .swiper-autoheight, .swiper-autoheight .swiper-slide img {
    min-height: 450px;
  width: 100%;
  height: 100%;         /* parent must have a height */
  object-fit: cover;    /* key line */
  object-position: center;
  display: block;
    
}

.postborder .swiper-pagination-bullet {
    width: 8px !important;
    height: 8px !important;
    background: #D1D5DB !important;
    opacity: 1 !important;
    border-radius: 6px !important;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
    margin: 0 6px !important;
}

.postborder .swiper-pagination-bullet-active {
    width: 24px !important;
    background: #FFF !important;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.postborder .swiper-pagination-bullet:not(.swiper-pagination-bullet-active):hover {
    background: #9CA3AF !important;
    transform: scale(1.1) !important;
}

.postborder .swiper-pagination {

    margin-top: 30px !important;
}

@media (max-width: 767px) {
.postborder .swiper-pagination-bullet {
    background: #E6EE6E6 !important; }
    
    .postborder .swiper-pagination-bullet-active {
    width: 24px !important;
    background: #2740EE !important; }
}

.postborder .swiper-autoheight, .swiper-autoheight .swiper-slide {

    max-height: 450px;
}

.elementor-6007 .elementor-element.elementor-element-6692396c:not(.elementor-motion-effects-element-type-background), .elementor-6007 .elementor-element.elementor-element-6692396c > .elementor-motion-effects-container > .elementor-motion-effects-layer {
 
    height: 100vh;
}

/* Only kill underline inside .viewalltext */
.viewalltext,
.viewalltext a,
.viewalltext:hover,
.viewalltext a:hover {
  text-decoration: none !important;
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
}

/* Hard-override that specific Elementor element, but only if inside .viewalltext */
.viewalltext .elementor-element.elementor-element-a057967 a,
.viewalltext .elementor-element.elementor-element-a057967 a:hover,
.viewalltext .elementor-element.elementor-element-a057967 .elementor-heading-title,
.viewalltext .elementor-element.elementor-element-a057967 .elementor-heading-title:hover {
  text-decoration: none !important;
  border: none !important;
  box-shadow: none !important;
}
