/* ==========================================================================
   Prodware Elementor Widgets
   All widgets use shared components:
     .prodware-widget   — widget root
     .prodware-header   — title + subtitle block
     .prodware-btn      — 8 button variants
     .prodware-preset-- — 4 style presets (default / style-1 / style-2 / style-3)
   Relies on tokens from prodware-tokens.css
   ========================================================================== */

.prodware-widget {
	font-family: 'Poppins', sans-serif;
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	background-color: var(--clr-bgGray);
	overflow-x: hidden;
}

.prodware-widget *,
.prodware-widget *::before,
.prodware-widget *::after {
	box-sizing: border-box;
	max-width: 100%;
}

/* ==========================================================================
   SHARED — HEADER (title + subtitle)
   ========================================================================== */
.prodware-header {
	max-width: var(--container);
	margin: 0 auto var(--space-lg);
	text-align: center;
}

.prodware-header__title {
	margin: 0;
	font-family: 'Poppins', sans-serif;
	font-weight: 600;
	font-size: 32px;
	line-height: 42px;
	color: var(--clr-text);
}

.prodware-header__title.is-gradient {
	background: var(--grad-text);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
}

.prodware-header__subtitle {
	margin: var(--space-sm) auto 0;
	font-family: 'Poppins', sans-serif;
	font-weight: 400;
	font-size: 16px;
	line-height: 28px;
	color: var(--clr-body);
	max-width: 760px;
}

.prodware-header[style*="text-align:left"]  .prodware-header__subtitle { margin-left: 0;    margin-right: auto; }
.prodware-header[style*="text-align:right"] .prodware-header__subtitle { margin-left: auto; margin-right: 0;    }

/* ==========================================================================
   SHARED — BUTTONS (8 variants)
   ========================================================================== */
.prodware-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0 28px;
	border-radius: var(--r-pill);
	font-family: 'Poppins', sans-serif;
	font-weight: 400;
	font-size: 14px;
	line-height: 1.3;
	text-decoration: none !important;
	border: 1.5px solid transparent;
	transition: .2s ease;
	cursor: pointer;
	white-space: nowrap;
	box-sizing: border-box;
}
.prodware-btn:hover { transform: translateY(-1px); }
/* Ensure label inherits color even if theme targets spans inside links */
.prodware-btn .prodware-btn__label,
.prodware-btn span { color: inherit !important; }

/* Primary Blue */
.prodware-btn--primary-blue { background: var(--clr-blue) !important; color: #fff !important; box-shadow: var(--shadow-btn); border-color: var(--clr-blue) !important; }
.prodware-btn--primary-blue:hover { background: var(--clr-navyL) !important; border-color: var(--clr-navyL) !important; color: #fff !important; }

/* Primary Light */
.prodware-btn--primary-light { background: var(--clr-bgLgt) !important; color: var(--clr-blue) !important; border-color: var(--clr-bgLgt) !important; }
.prodware-btn--primary-light:hover { background: #fff !important; border-color: var(--clr-border) !important; color: var(--clr-blue) !important; }

/* Outline Blue */
.prodware-btn--outline-blue { background: transparent !important; color: var(--clr-text) !important; border-color: var(--clr-border) !important; }
.prodware-btn--outline-blue:hover { background: var(--clr-blue) !important; color: #fff !important; border-color: var(--clr-blue) !important; }

/* Outline Cyan */
.prodware-btn--outline-cyan { background: transparent !important; color: var(--clr-cyan) !important; border-color: var(--clr-cyan) !important; }
.prodware-btn--outline-cyan:hover { background: var(--clr-cyan) !important; color: var(--clr-navy) !important; }

/* Outline White */
.prodware-btn--outline-white { background: transparent !important; color: #fff !important; border-color: rgba(255,255,255,0.6) !important; }
.prodware-btn--outline-white:hover { background: #fff !important; color: var(--clr-navy) !important; border-color: #fff !important; }

/* White Fill */
.prodware-btn--white-fill { background: #fff !important; color: var(--clr-navy) !important; border-color: #fff !important; }
.prodware-btn--white-fill:hover { background: var(--clr-bgLgt) !important; border-color: var(--clr-bgLgt) !important; }

/* Pink / Submit */
.prodware-btn--pink { background: var(--clr-pink) !important; color: #fff !important; border-color: var(--clr-pink) !important; }
.prodware-btn--pink:hover { filter: brightness(.95); color: #fff !important; }

/* Gradient */
.prodware-btn--gradient { background: var(--grad-blue) !important; color: #fff !important; box-shadow: var(--shadow-btn); border: none !important; }
.prodware-btn--gradient:hover { filter: brightness(1.05); color: #fff !important; }

/* ==========================================================================
   SHARED — STYLE PRESETS
   Applies to ALL widgets via prefix_class "prodware-preset--"
   ========================================================================== */

/* Default (Light Gray) */
.prodware-preset--default .prodware-widget { background-color: var(--clr-bgGray); }

/* White — pure white background, all text/cards inherit Default's color treatment */
.prodware-preset--white .prodware-widget { background-color: #FFFFFF; }

/* Style 1 — Blue Prodware */
.prodware-preset--style-1 .prodware-widget { background-color: var(--clr-blue); }
.prodware-preset--style-1 .prodware-header__title:not(.is-gradient) { color: #fff; }
.prodware-preset--style-1 .prodware-header__subtitle { color: rgba(255,255,255,0.85); }

/* Style 2 — Dark Navy */
.prodware-preset--style-2 .prodware-widget { background-color: var(--clr-navy); }
.prodware-preset--style-2 .prodware-header__title:not(.is-gradient) { color: #fff; }
.prodware-preset--style-2 .prodware-header__subtitle { color: rgba(255,255,255,0.80); }

/* Style 3 — Gradient */
.prodware-preset--style-3 .prodware-widget { background: var(--grad-primary); }
.prodware-preset--style-3 .prodware-header__title:not(.is-gradient) { color: #fff; }
.prodware-preset--style-3 .prodware-header__subtitle { color: rgba(255,255,255,0.88); }

/* White preset — alias all default light-bg treatments. Selectors below mirror
   the .prodware-preset--default text/card rules used widget-by-widget.
   Background-only changes already happen via the rule near top. */
.prodware-preset--white .prodware-header__title:not(.is-gradient) { color: var(--clr-text); }
.prodware-preset--white .prodware-header__subtitle { color: var(--clr-body); }

/* ==========================================================================
   WIDGET 1 — CARD WITH ICON (.prodware-cwi)
   ========================================================================== */
.prodware-cwi { padding: var(--space-xl); }

.prodware-cwi__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--col-gap);
	max-width: var(--container);
	margin: 0 auto;
}
.prodware-cwi__grid[data-count="1"] { grid-template-columns: minmax(0, 1fr); max-width: 520px; }
.prodware-cwi__grid[data-count="2"] { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 860px; }
.prodware-cwi__grid[data-count="3"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.prodware-cwi__grid[data-count="5"],
.prodware-cwi__grid[data-count="6"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.prodware-cwi__card {
	background: var(--clr-white);
	border: 1px solid var(--clr-border);
	border-radius: var(--r-lg);
	padding: var(--card-pad);
	box-shadow: var(--shadow-card);
	display: flex;
	flex-direction: column;
	text-decoration: none;
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease, background-color .2s ease;
}
.prodware-cwi__card:hover { transform: translateY(-2px); }
a.prodware-cwi__card { color: inherit; }

.prodware-cwi__icon-box {
	width: 48px; height: 48px;
	border-radius: var(--space-md);
	display: inline-flex; align-items: center; justify-content: center;
	margin-bottom: var(--space-sm);
	flex-shrink: 0; border: 1px solid;
}
.prodware-cwi__icon-box i, .prodware-cwi__icon-box svg { font-size: 20px; width: 20px; height: 20px; }

.prodware-cwi__card--blue   .prodware-cwi__icon-box { background: rgba(69,107,255,.12);  border-color: rgba(69,107,255,.30);  color: var(--clr-blue);   }
.prodware-cwi__card--gray   .prodware-cwi__icon-box { background: var(--clr-bgGray);     border-color: rgba(69,107,255,.30);  color: var(--clr-blue);   }
.prodware-cwi__card--cyan   .prodware-cwi__icon-box { background: rgba(69,205,255,.12);  border-color: rgba(69,205,255,.30);  color: var(--clr-cyan);   }
.prodware-cwi__card--pink   .prodware-cwi__icon-box { background: rgba(255,113,252,.12); border-color: rgba(255,113,252,.30); color: var(--clr-pink);   }
.prodware-cwi__card--purple .prodware-cwi__icon-box { background: rgba(144,95,223,.12);  border-color: rgba(144,95,223,.30);  color: var(--clr-purple); }
.prodware-cwi__icon-box svg { fill: currentColor; }

.prodware-cwi__card-title { margin: 0 0 var(--space-xs); font-weight: 600; font-size: 17px; line-height: 24px; color: var(--clr-text); }
.prodware-cwi__card-desc  { margin: 0; font-weight: 400; font-size: 14px; line-height: 25px; color: var(--clr-body); }
.prodware-cwi__card-actions { margin-top: var(--space-sm); }
.prodware-cwi__card-actions .prodware-btn { min-height: 38px; font-size: 13px; padding: 0 20px; }
.prodware-cwi__card.has-btn { padding-bottom: var(--card-pad); }

/* Presets override card surface + text on cwi */
.prodware-preset--style-1 .prodware-cwi__card,
.prodware-preset--style-3 .prodware-cwi__card { background: rgba(255,255,255,0.10); border-color: rgba(255,255,255,0.22); box-shadow: none; backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.prodware-preset--style-1 .prodware-cwi__card:hover,
.prodware-preset--style-3 .prodware-cwi__card:hover { background: rgba(255,255,255,0.18); border-color: rgba(255,255,255,0.35); }

.prodware-preset--style-2 .prodware-cwi__card        { background: var(--clr-navyL); border-color: var(--clr-bdDark); box-shadow: none; }
.prodware-preset--style-2 .prodware-cwi__card:hover  { background: #233065; border-color: rgba(69,107,255,0.35); }

.prodware-preset--style-1 .prodware-cwi__card-title,
.prodware-preset--style-2 .prodware-cwi__card-title,
.prodware-preset--style-3 .prodware-cwi__card-title { color: #fff; }
.prodware-preset--style-1 .prodware-cwi__card-desc,
.prodware-preset--style-3 .prodware-cwi__card-desc  { color: rgba(255,255,255,0.85); }
.prodware-preset--style-2 .prodware-cwi__card-desc  { color: rgba(255,255,255,0.75); }

/* ==========================================================================
   WIDGET 2 — CARD WITH IMAGE (.prodware-cwimg)
   ========================================================================== */
.prodware-cwimg { padding: var(--space-xl); }

.prodware-cwimg__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--space-md);
	max-width: var(--container);
	margin: 0 auto;
}
.prodware-cwimg__grid[data-count="1"] { grid-template-columns: minmax(0, 1fr); max-width: 440px; }
.prodware-cwimg__grid[data-count="2"] { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 860px; }
.prodware-cwimg__grid[data-count="4"] { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.prodware-cwimg__card {
	background: #fff;
	border: 1px solid var(--clr-border);
	border-radius: var(--r-lg);
	box-shadow: var(--shadow-card);
	overflow: hidden;
	display: flex; flex-direction: column;
	transition: transform .2s ease, box-shadow .2s ease;
}
.prodware-cwimg__card:hover { transform: translateY(-2px); }

.prodware-cwimg__image {
	width: 100%; height: 180px;
	background-size: cover; background-position: center;
	border-radius: var(--r-md);
	margin: var(--card-pad) var(--card-pad) 0;
	width: calc(100% - var(--card-pad) * 2);
}

.prodware-cwimg__body { padding: var(--space-sm) var(--card-pad) var(--card-pad); display: flex; flex-direction: column; flex: 1; }
.prodware-cwimg__card-title { margin: 0 0 var(--space-xs); font-weight: 600; font-size: 14px; line-height: 21px; color: var(--clr-text); }
.prodware-cwimg__card-desc  { margin: 0 0 var(--space-sm); font-weight: 400; font-size: 12.5px; line-height: 21px; color: var(--clr-body); flex: 1; }
.prodware-cwimg__card-actions { margin-top: auto; }
.prodware-cwimg__card-actions .prodware-btn { min-height: 38px; font-size: 12px; padding: 0 20px; }

.prodware-preset--style-1 .prodware-cwimg__card,
.prodware-preset--style-3 .prodware-cwimg__card { background: rgba(255,255,255,0.10); border-color: rgba(255,255,255,0.22); box-shadow: none; }
.prodware-preset--style-2 .prodware-cwimg__card { background: var(--clr-navyL); border-color: var(--clr-bdDark); box-shadow: none; }
.prodware-preset--style-1 .prodware-cwimg__card-title,
.prodware-preset--style-2 .prodware-cwimg__card-title,
.prodware-preset--style-3 .prodware-cwimg__card-title { color: #fff; }
.prodware-preset--style-1 .prodware-cwimg__card-desc,
.prodware-preset--style-3 .prodware-cwimg__card-desc  { color: rgba(255,255,255,0.85); }
.prodware-preset--style-2 .prodware-cwimg__card-desc  { color: rgba(255,255,255,0.70); }

/* ==========================================================================
   WIDGET 3 — KEY FIGURES (.prodware-kf)
   ========================================================================== */
.prodware-kf { padding: var(--space-xl) var(--space-xl); }

.prodware-kf__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--space-md);
	max-width: var(--container);
	margin: 0 auto;
}
.prodware-kf__grid[data-count="1"] { grid-template-columns: 1fr; max-width: 320px; }
.prodware-kf__grid[data-count="2"] { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 640px; }
.prodware-kf__grid[data-count="3"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.prodware-kf__item { text-align: center; padding: var(--space-md); position: relative; }

.prodware-kf__grid--dividers .prodware-kf__item:not(:last-child)::after {
	content: "";
	position: absolute;
	top: 20%; bottom: 20%; right: 0;
	width: 1px;
	background: rgba(144,95,223,0.35);
}
.prodware-preset--style-1 .prodware-kf__grid--dividers .prodware-kf__item:not(:last-child)::after,
.prodware-preset--style-2 .prodware-kf__grid--dividers .prodware-kf__item:not(:last-child)::after,
.prodware-preset--style-3 .prodware-kf__grid--dividers .prodware-kf__item:not(:last-child)::after {
	background: rgba(255,255,255,0.2);
}

.prodware-kf__value {
	font-family: 'Poppins', sans-serif;
	font-weight: 700;
	font-size: 45px;
	line-height: 52px;
	color: var(--clr-blue);
	margin-bottom: var(--space-xs);
}
.prodware-kf__value.is-gradient {
	background: var(--grad-text);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
}

.prodware-kf__label {
	font-weight: 600;
	font-size: 15px;
	color: var(--clr-text);
}
.prodware-preset--style-1 .prodware-kf__label,
.prodware-preset--style-2 .prodware-kf__label,
.prodware-preset--style-3 .prodware-kf__label { color: #fff; }

/* ==========================================================================
   WIDGET 4 — CTA BANNER (.prodware-cta)
   ========================================================================== */
.prodware-cta {
	position: relative;
	overflow: hidden;
	border-radius: 30px;
	text-align: center;
}
.prodware-cta.has-bg-image { background-size: cover; background-position: center; }
.prodware-cta.has-overlay::before {
	content: ""; position: absolute; inset: 0;
	background: linear-gradient(180deg, rgba(19,30,66,0.35), rgba(19,30,66,0.55));
	pointer-events: none;
}
.prodware-cta__inner { position: relative; z-index: 1; max-width: 820px; margin: 0 auto; }
.prodware-cta .prodware-header { margin-bottom: var(--space-md); }
.prodware-cta.has-bg-image .prodware-header__title,
.prodware-cta.has-bg-image .prodware-header__subtitle { color: #fff; }
.prodware-cta .prodware-header__title:not(.is-gradient) { color: #fff; }
.prodware-cta .prodware-header__subtitle { color: rgba(255,255,255,0.85); }
.prodware-cta__actions { display: flex; justify-content: center; }

/* ==========================================================================
   WIDGET 5 — CTA HORIZONTAL (.prodware-ctah)
   ========================================================================== */
.prodware-ctah {
	position: relative;
	overflow: hidden;
	border-radius: 20px;
}
.prodware-ctah.has-bg-image { background-size: cover; background-position: center; }

.prodware-ctah__inner {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-lg);
	max-width: var(--container);
	margin: 0 auto;
	flex-wrap: wrap;
}
.prodware-ctah__text { flex: 1 1 60%; min-width: 280px; }
.prodware-ctah__title {
	margin: 0;
	font-family: 'Poppins', sans-serif;
	font-weight: 600;
	font-size: 28px;
	line-height: 38px;
	color: #fff;
}
.prodware-ctah__title.is-gradient {
	background: var(--grad-text);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
}
.prodware-ctah__subtitle { margin: var(--space-xs) 0 0; color: rgba(255,255,255,0.75); font-size: 14px; line-height: 25px; }
.prodware-ctah__actions { flex: 0 0 auto; }

/* Decorative dot-grid overlay */
.prodware-ctah__dots {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background-image: radial-gradient(circle, rgba(255,255,255,0.18) 1px, transparent 1px);
	background-size: 36px 36px;
	background-position: 0 0;
	opacity: 0.6;
	z-index: 0;
}

/* ==========================================================================
   WIDGET 6 — CAPABILITIES (.prodware-cap)
   ========================================================================== */
.prodware-cap { padding: var(--space-xl); }

.prodware-cap__inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--space-xl);
	max-width: var(--container);
	margin: 0 auto;
	align-items: center;
}
.prodware-cap__inner--img-left { grid-template-areas: "media list"; }
.prodware-cap__inner--img-left .prodware-cap__media { grid-area: media; }
.prodware-cap__inner--img-left .prodware-cap__list  { grid-area: list;  }
.prodware-cap__inner--no-media { grid-template-columns: 1fr; grid-template-areas: "list"; }

.prodware-cap__list { display: flex; flex-direction: column; gap: var(--space-xs); }

.prodware-cap__item {
	display: flex;
	gap: var(--space-sm);
	align-items: flex-start;
	padding: var(--space-sm);
	background: rgba(255,255,255,0.05);
	border: 1px solid rgba(255,255,255,0.12);
	border-radius: var(--r-md);
	transition: .2s ease;
}
.prodware-preset--default .prodware-cap__item { background: #fff; border-color: var(--clr-border); box-shadow: var(--shadow-card); }

.prodware-cap__item:hover { transform: translateY(-2px); }

.prodware-cap__icon-box {
	width: 48px; height: 48px; flex-shrink: 0;
	border-radius: var(--space-md);
	display: inline-flex; align-items: center; justify-content: center;
	border: 1px solid;
}
.prodware-cap__icon-box i, .prodware-cap__icon-box svg { font-size: 20px; width: 20px; height: 20px; }
.prodware-cap__icon-box svg { fill: currentColor; }

.prodware-cap__item--blue   .prodware-cap__icon-box { background: rgba(69,107,255,.12);  border-color: rgba(69,107,255,.30);  color: var(--clr-blue);   }
.prodware-cap__item--cyan   .prodware-cap__icon-box { background: rgba(69,205,255,.12);  border-color: rgba(69,205,255,.30);  color: var(--clr-cyan);   }
.prodware-cap__item--pink   .prodware-cap__icon-box { background: rgba(255,113,252,.12); border-color: rgba(255,113,252,.30); color: var(--clr-pink);   }
.prodware-cap__item--purple .prodware-cap__icon-box { background: rgba(144,95,223,.12);  border-color: rgba(144,95,223,.30);  color: var(--clr-purple); }

.prodware-cap__item-title { margin: 0 0 4px; font-weight: 600; font-size: 14px; line-height: 20px; color: #fff; }
.prodware-cap__item-desc  { margin: 0; font-weight: 400; font-size: 12px; line-height: 20px; color: rgba(255,255,255,0.6); }
.prodware-preset--default .prodware-cap__item-title { color: var(--clr-text); }
.prodware-preset--default .prodware-cap__item-desc  { color: var(--clr-body); }

.prodware-cap__media { position: relative; display: flex; align-items: center; justify-content: center; min-height: 280px; }
.prodware-cap__image {
	position: relative; z-index: 2;
	max-width: 100%; height: auto;
	border-radius: var(--r-lg);
}
.prodware-cap__orb {
	position: absolute; border-radius: 50%;
	filter: blur(40px); opacity: 0.35; pointer-events: none;
}
.prodware-cap__orb--pink { width: 280px; height: 280px; background: var(--clr-pink); top: 10%; right: 0; }
.prodware-cap__orb--blue { width: 220px; height: 220px; background: var(--clr-blue); bottom: 10%; left: 10%; }

/* ==========================================================================
   WIDGET 7 — CARD PROFILE (.prodware-cp)
   ========================================================================== */
.prodware-cp { padding: var(--space-xl); }

.prodware-cp__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--space-md);
	max-width: var(--container);
	margin: 0 auto;
}
.prodware-cp__grid[data-count="1"] { grid-template-columns: 1fr; max-width: 440px; }
.prodware-cp__grid[data-count="2"] { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 880px; }
.prodware-cp__grid[data-count="4"] { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.prodware-cp__card {
	background: #fff;
	border: 1px solid rgba(226,232,240,0.8);
	border-radius: 20px;
	box-shadow: var(--shadow-card);
	padding: var(--space-md);
	text-align: center;
	display: flex; flex-direction: column; align-items: center;
	transition: transform .2s ease, box-shadow .2s ease;
}
.prodware-cp__card:hover { transform: translateY(-2px); }

.prodware-cp__avatar {
	width: 88px; height: 88px;
	border-radius: 50%;
	overflow: hidden;
	margin-bottom: var(--space-sm);
	border: 3px solid transparent;
	background: var(--grad-primary);
	padding: 3px;
}
.prodware-cp__avatar img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; display: block; }

.prodware-cp__name { font-weight: 600; font-size: 17px; line-height: 24px; color: var(--clr-text); }
.prodware-cp__role { font-weight: 500; font-size: 12px; line-height: 18px; color: var(--clr-muted); margin-top: 4px; }

.prodware-cp__divider { display: block; width: 64px; height: 2px; border-radius: 1px; margin: var(--space-sm) auto; }
.prodware-cp__divider--pink   { background: var(--clr-pink); }
.prodware-cp__divider--blue   { background: var(--clr-blue); }
.prodware-cp__divider--cyan   { background: var(--clr-cyan); }
.prodware-cp__divider--purple { background: var(--clr-purple); }

.prodware-cp__quote {
	margin: 0 0 var(--space-sm);
	font-style: normal;
	font-weight: 400;
	font-size: 12.5px;
	line-height: 20px;
	color: var(--clr-body);
	border: none;
	padding: 0;
}

.prodware-cp__linkedin {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 14px 6px 6px;
	background: rgba(69,107,255,0.08);
	border: 1px solid rgba(69,107,255,0.2);
	border-radius: var(--r-pill);
	color: var(--clr-blue);
	font-weight: 500;
	font-size: 11px;
	text-decoration: none;
	transition: .2s;
	margin-top: auto;
}
.prodware-cp__linkedin:hover { background: rgba(69,107,255,0.14); color: var(--clr-blue); }
.prodware-cp__linkedin-badge {
	width: 20px; height: 20px;
	background: var(--clr-blue);
	color: #fff;
	border-radius: 4px;
	display: inline-flex;
	align-items: center; justify-content: center;
	font-weight: 700; font-size: 9px;
}

/* ---- Card body wrapper (holds everything except the avatar) ---- */
.prodware-cp__body {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	flex: 1 1 auto;
}

/* ---- Side layouts: image on the left / right of the text ---- */
.prodware-cp--layout-left  .prodware-cp__card,
.prodware-cp--layout-right .prodware-cp__card {
	flex-direction: row;
	align-items: center;
	text-align: left;
	gap: var(--space-md);
}
.prodware-cp--layout-right .prodware-cp__card { flex-direction: row-reverse; }

.prodware-cp--layout-left  .prodware-cp__avatar,
.prodware-cp--layout-right .prodware-cp__avatar {
	margin-bottom: 0;
	flex: 0 0 auto;
}
.prodware-cp--layout-left  .prodware-cp__body,
.prodware-cp--layout-right .prodware-cp__body {
	align-items: flex-start;
	text-align: left;
}
.prodware-cp--layout-left  .prodware-cp__divider,
.prodware-cp--layout-right .prodware-cp__divider { margin-left: 0; margin-right: auto; }

/* ---- Optional fixed column count (desktop) ---- */
@media (min-width: 1025px) {
	.prodware-cp--cols-1 .prodware-cp__grid { grid-template-columns: 1fr; max-width: 620px; }
	.prodware-cp--cols-2 .prodware-cp__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 940px; }
	.prodware-cp--cols-3 .prodware-cp__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.prodware-preset--style-1 .prodware-cp__card,
.prodware-preset--style-3 .prodware-cp__card { background: rgba(255,255,255,0.10); border-color: rgba(255,255,255,0.22); box-shadow: none; }
.prodware-preset--style-2 .prodware-cp__card { background: var(--clr-navyL); border-color: var(--clr-bdDark); box-shadow: none; }
.prodware-preset--style-1 .prodware-cp__name,
.prodware-preset--style-2 .prodware-cp__name,
.prodware-preset--style-3 .prodware-cp__name { color: #fff; }
.prodware-preset--style-1 .prodware-cp__role,
.prodware-preset--style-2 .prodware-cp__role,
.prodware-preset--style-3 .prodware-cp__role { color: rgba(255,255,255,0.65); }
.prodware-preset--style-1 .prodware-cp__quote,
.prodware-preset--style-3 .prodware-cp__quote { color: rgba(255,255,255,0.85); }
.prodware-preset--style-2 .prodware-cp__quote { color: rgba(255,255,255,0.75); }

/* ==========================================================================
   RESPONSIVE  (tokens already adjust in tokens file, just grid adjustments here)
   ========================================================================== */
@media (max-width: 1024px) {
	.prodware-cwi, .prodware-cwimg, .prodware-kf, .prodware-cap, .prodware-cp {
		padding: var(--section) var(--gutter);
	}

	.prodware-cwi__grid,
	.prodware-cwi__grid[data-count="3"],
	.prodware-cwi__grid[data-count="4"],
	.prodware-cwi__grid[data-count="5"],
	.prodware-cwi__grid[data-count="6"],
	.prodware-cwimg__grid,
	.prodware-cwimg__grid[data-count="3"],
	.prodware-cwimg__grid[data-count="4"],
	.prodware-cp__grid,
	.prodware-cp__grid[data-count="3"],
	.prodware-cp__grid[data-count="4"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }

	.prodware-kf__grid, .prodware-kf__grid[data-count="4"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.prodware-kf__grid--dividers .prodware-kf__item:nth-child(2n)::after { display: none; }

	.prodware-cap__inner, .prodware-cap__inner--img-left {
		grid-template-columns: 1fr;
		grid-template-areas: "list" "media";
		gap: var(--space-lg);
	}
	/* Mobile media order: above */
	.prodware-cap-mobile--above .prodware-cap__inner,
	.prodware-cap-mobile--above .prodware-cap__inner--img-left {
		grid-template-areas: "media" "list" !important;
	}
	/* Mobile media: hidden */
	.prodware-cap-mobile--hide .prodware-cap__media { display: none !important; }
	.prodware-cap-mobile--hide .prodware-cap__inner,
	.prodware-cap-mobile--hide .prodware-cap__inner--img-left {
		grid-template-areas: "list" !important;
	}
	/* No media: text spans full width */
	.prodware-cap__inner--no-media {
		grid-template-columns: 1fr !important;
		grid-template-areas: "list" !important;
	}

	.prodware-header__title,
	.prodware-ctah__title { font-size: 24px; line-height: 32px; }
	.prodware-header__subtitle { font-size: 15px; line-height: 26px; }
}

@media (max-width: 767px) {
	.prodware-cwi__grid,
	.prodware-cwi__grid[data-count="2"],
	.prodware-cwi__grid[data-count="3"],
	.prodware-cwi__grid[data-count="4"],
	.prodware-cwi__grid[data-count="5"],
	.prodware-cwi__grid[data-count="6"],
	.prodware-cwimg__grid,
	.prodware-cwimg__grid[data-count="2"],
	.prodware-cwimg__grid[data-count="3"],
	.prodware-cwimg__grid[data-count="4"],
	.prodware-cp__grid,
	.prodware-cp__grid[data-count="2"],
	.prodware-cp__grid[data-count="3"],
	.prodware-cp__grid[data-count="4"],
	.prodware-kf__grid, .prodware-kf__grid[data-count="2"], .prodware-kf__grid[data-count="3"], .prodware-kf__grid[data-count="4"] {
		grid-template-columns: 1fr;
	}
	.prodware-kf__grid--dividers .prodware-kf__item::after { display: none !important; }

	.prodware-header__title,
	.prodware-ctah__title { font-size: 20px; line-height: 28px; }
	.prodware-header__subtitle { font-size: 14px; line-height: 24px; }

	.prodware-ctah__inner { flex-direction: column; align-items: flex-start; gap: var(--space-md); }
	.prodware-ctah__actions { width: 100%; }
	.prodware-ctah__actions .prodware-btn { width: 100%; }

	.prodware-cta__actions .prodware-btn { width: 100%; }
}

/* ==========================================================================
   WIDGET 8 — CONTENT SLIDER (.prodware-cs)
   ========================================================================== */
.prodware-cs { padding: var(--space-xl); position: relative; }

.prodware-cs__viewport {
	position: relative;
	max-width: var(--container);
	margin: 0 auto;
	overflow: hidden;
	padding: 0 var(--space-lg);
}
.prodware-cs__track {
	display: flex;
	transition: transform .5s cubic-bezier(.22,.61,.36,1);
	will-change: transform;
}
.prodware-cs__slide {
	flex: 0 0 100%;
	min-width: 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--space-md);
	align-items: center;
}
.prodware-cs__image {
	width: 100%;
	height: 400px;
	background-size: cover;
	background-position: center;
	background-color: var(--clr-bgLgt);
	border-radius: var(--r-lg);
}
.prodware-cs__image--placeholder {
	background-image: linear-gradient(225deg, var(--clr-navyL) 13%, var(--clr-navy) 86%);
}
.prodware-cs__card {
	background: #fff;
	border: 1px solid rgba(226,232,240,0.8);
	border-radius: var(--r-lg);
	box-shadow: 0 8px 32px rgba(19,30,66,0.14);
	padding: var(--space-md);
	margin-left: -80px;
	z-index: 2;
	position: relative;
}
.prodware-cs__title { margin: 0 0 var(--space-xs); font-size: 20px; line-height: 28px; font-weight: 600; color: var(--clr-text); }
.prodware-cs__desc  { margin: 0 0 var(--space-sm); font-size: 13.5px; line-height: 23px; color: var(--clr-body); }

/* WYSIWYG body content — supports headings / paragraphs / lists / inline */
.prodware-cs__body { color: var(--clr-body); font-size: 13.5px; line-height: 23px; }
.prodware-cs__body > *:last-child { margin-bottom: 0 !important; }
.prodware-cs__actions { margin-top: var(--space-md); display: flex; flex-wrap: wrap; gap: 12px; }
.prodware-cs__body p { margin: 0 0 12px; font-size: 13.5px; line-height: 23px; color: var(--clr-body); }
.prodware-cs__body h1,
.prodware-cs__body h2,
.prodware-cs__body h3,
.prodware-cs__body h4,
.prodware-cs__body h5,
.prodware-cs__body h6 {
	margin: 0 0 10px;
	font-family: 'Poppins', sans-serif;
	font-weight: 600;
	color: var(--clr-text);
}
.prodware-cs__body h1 { font-size: 28px; line-height: 36px; }
.prodware-cs__body h2 { font-size: 22px; line-height: 30px; }
.prodware-cs__body h3 { font-size: 18px; line-height: 26px; }
.prodware-cs__body h4 { font-size: 16px; line-height: 24px; }
.prodware-cs__body h5 { font-size: 14px; line-height: 22px; }
.prodware-cs__body h6 { font-size: 13px; line-height: 20px; }
.prodware-cs__body ul,
.prodware-cs__body ol { margin: 0 0 12px; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 8px; }
.prodware-cs__body ul li,
.prodware-cs__body ol li {
	position: relative;
	padding-left: 20px;
	font-size: 13px;
	line-height: 20px;
	color: var(--clr-body);
}
.prodware-cs__body ul li::before {
	content: "";
	position: absolute;
	left: 0; top: 7px;
	width: 6px; height: 6px;
	background: var(--clr-blue);
	border-radius: 50%;
}
.prodware-cs__body ol { counter-reset: cs-num; }
.prodware-cs__body ol li { counter-increment: cs-num; }
.prodware-cs__body ol li::before {
	content: counter(cs-num) ".";
	position: absolute;
	left: 0; top: 0;
	color: var(--clr-blue);
	font-weight: 600;
}
.prodware-cs__body a { color: var(--clr-blue); text-decoration: underline; }
.prodware-cs__body strong { font-weight: 600; color: var(--clr-text); }

.prodware-cs__bullets {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.prodware-cs__bullets li {
	position: relative;
	padding-left: 20px;
	font-size: 13px;
	line-height: 20px;
	color: var(--clr-body);
}
.prodware-cs__bullets li::before {
	content: "";
	position: absolute;
	left: 0; top: 7px;
	width: 6px; height: 6px;
	background: var(--clr-blue);
	border-radius: 50%;
}

.prodware-cs__arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 3;
	width: 36px; height: 36px;
	border-radius: 50%;
	background: #fff;
	border: 1px solid var(--clr-border);
	color: var(--clr-text);
	font-size: 14px;
	display: flex; align-items: center; justify-content: center;
	cursor: pointer;
	box-shadow: 0 2px 6px rgba(19,30,66,0.08);
	transition: transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.prodware-cs__arrow:hover {
	background: var(--clr-blue);
	color: #fff;
	border-color: var(--clr-blue);
	transform: translateY(-50%) scale(1.05);
	box-shadow: 0 4px 12px rgba(69,107,255,0.28);
}
.prodware-cs__arrow:active { transform: translateY(-50%) scale(0.96); }
.prodware-cs__arrow--prev { left: 4px; }
.prodware-cs__arrow--next { right: 4px; }

.prodware-cs__dots {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 6px;
	margin-top: var(--space-md);
}
.prodware-cs__dot {
	width: 8px; height: 8px;
	border-radius: 4px;
	background: var(--clr-border);
	border: none;
	cursor: pointer;
	transition: width .3s cubic-bezier(.22,.61,.36,1), background .25s ease;
	padding: 0;
}
.prodware-cs__dot:hover { background: rgba(69,107,255,0.4); }
.prodware-cs__dot.is-active {
	width: 22px;
	background: var(--clr-blue);
}

.prodware-preset--style-2 .prodware-cs__card { background: var(--clr-navyL); border-color: var(--clr-bdDark); }
.prodware-preset--style-2 .prodware-cs__title { color: #fff; }
.prodware-preset--style-2 .prodware-cs__desc,
.prodware-preset--style-2 .prodware-cs__bullets li { color: rgba(255,255,255,0.80); }

/* Hide slide image on mobile when toggled */
@media (max-width: 767px) {
	.prodware-cs-hideimg--yes .prodware-cs__image { display: none; }
	.prodware-cs-hideimg--yes .prodware-cs__card  { margin: 0; }
}

/* ==========================================================================
   WIDGET 9 — INDUSTRIES TABS (.prodware-tabs)
   ========================================================================== */
.prodware-tabs { padding: var(--space-xl); }

.prodware-tabs__nav {
	max-width: var(--container);
	margin: 0 auto var(--space-md);
	position: relative;
	display: flex;
	align-items: center;
	gap: var(--space-xs);
}
.prodware-tabs__strip {
	display: flex;
	gap: var(--space-xs);
	overflow-x: auto;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	flex: 1;
	padding: 4px 0;
}
.prodware-tabs__strip::-webkit-scrollbar { display: none; }

.prodware-tabs__tab {
	flex: 0 0 auto;
	padding: 10px 20px;
	border-radius: var(--r-pill);
	border: 1.5px solid var(--clr-border);
	background: transparent;
	color: var(--clr-body);
	font-family: 'Poppins', sans-serif;
	font-weight: 500;
	font-size: 12.5px;
	line-height: 16px;
	cursor: pointer;
	white-space: nowrap;
	transition: .2s;
}
.prodware-tabs__tab:hover { border-color: var(--clr-blue); color: var(--clr-blue); }
.prodware-tabs__tab:hover .prodware-tabs__tab-label { color: var(--clr-blue) !important; }
.prodware-tabs__tab.is-active { background: var(--clr-blue); border-color: var(--clr-blue); color: #fff; }
.prodware-tabs__tab.is-active .prodware-tabs__tab-label { color: #fff !important; }
/* Inner heading tag (h1-h6/div/span) inherits button's typography — reset margins/padding */
.prodware-tabs__tab-label {
	margin: 0 !important;
	padding: 0;
	font-size: inherit !important;
	font-weight: inherit;
	line-height: inherit;
	color: inherit;
	font-family: inherit;
	white-space: nowrap;
	display: inline;
}

.prodware-tabs__arrow {
	flex: 0 0 auto;
	width: 36px; height: 36px;
	border-radius: 50%;
	background: #fff;
	border: 1px solid var(--clr-border);
	color: var(--clr-text);
	cursor: pointer;
	display: flex; align-items: center; justify-content: center;
	transition: .2s;
	box-shadow: 0 2px 6px rgba(0,0,0,0.06);
}
.prodware-tabs__arrow:hover { background: var(--clr-blue); color: #fff; border-color: var(--clr-blue); }
.prodware-tabs__arrow.is-hidden { opacity: 0; pointer-events: none; }

/* Show arrows on mobile/tablet where the strip overflows; hide on desktop */
@media (min-width: 1025px) {
	.prodware-tabs__arrow { display: none; }
}

.prodware-tabs__panels {
	max-width: var(--container);
	margin: 0 auto;
	background: var(--clr-navy);
	border-radius: 24px;
	padding: var(--space-lg);
	position: relative;
}
.prodware-tabs__panel {
	display: none;
	grid-template-columns: 1.1fr 1fr;
	gap: var(--space-lg);
	align-items: center;
}
.prodware-tabs__panel.is-active { display: grid; }

.prodware-tabs__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--space-sm); }
.prodware-tabs__list-item { position: relative; padding-left: 24px; color: #fff; font-size: 14px; line-height: 25px; }
.prodware-tabs__list-item::before {
	content: "";
	position: absolute;
	left: 0; top: 10px;
	width: 6px; height: 6px;
	background: #fff;
	border-radius: 50%;
}
.prodware-tabs__list-title { display: block; font-weight: 600; color: #fff; margin-bottom: 2px; }
.prodware-tabs__list-desc { display: block; color: rgba(255,255,255,0.85); font-weight: 400; }

/* WYSIWYG content inside tab panel */
.prodware-tabs__list-wysiwyg { color: #fff; font-size: 14px; line-height: 25px; }
.prodware-tabs__list-wysiwyg > *:last-child { margin-bottom: 0 !important; }
.prodware-tabs__list-wysiwyg p { margin: 0 0 14px; color: rgba(255,255,255,0.92); font-size: 14px; line-height: 25px; }
.prodware-tabs__list-wysiwyg h1,
.prodware-tabs__list-wysiwyg h2,
.prodware-tabs__list-wysiwyg h3,
.prodware-tabs__list-wysiwyg h4,
.prodware-tabs__list-wysiwyg h5,
.prodware-tabs__list-wysiwyg h6 {
	margin: 0 0 12px;
	color: #fff;
	font-family: 'Poppins', sans-serif;
	font-weight: 600;
}
.prodware-tabs__list-wysiwyg h1 { font-size: 28px; line-height: 36px; }
.prodware-tabs__list-wysiwyg h2 { font-size: 22px; line-height: 30px; }
.prodware-tabs__list-wysiwyg h3 { font-size: 18px; line-height: 26px; }
.prodware-tabs__list-wysiwyg h4 { font-size: 16px; line-height: 24px; }
.prodware-tabs__list-wysiwyg h5 { font-size: 14px; line-height: 22px; }
.prodware-tabs__list-wysiwyg h6 { font-size: 13px; line-height: 20px; }
.prodware-tabs__list-wysiwyg ul,
.prodware-tabs__list-wysiwyg ol { margin: 0 0 14px; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 10px; }
.prodware-tabs__list-wysiwyg ul li {
	position: relative;
	padding-left: 24px;
	color: #fff;
	font-size: 14px;
	line-height: 25px;
}
.prodware-tabs__list-wysiwyg ul li::before {
	content: "";
	position: absolute;
	left: 0; top: 10px;
	width: 6px; height: 6px;
	background: #fff;
	border-radius: 50%;
}
.prodware-tabs__list-wysiwyg ol { counter-reset: tabs-num; }
.prodware-tabs__list-wysiwyg ol li {
	counter-increment: tabs-num;
	position: relative;
	padding-left: 28px;
	color: #fff;
	font-size: 14px;
	line-height: 25px;
}
.prodware-tabs__list-wysiwyg ol li::before {
	content: counter(tabs-num) ".";
	position: absolute;
	left: 0; top: 0;
	color: var(--clr-cyan);
	font-weight: 600;
}
.prodware-tabs__list-wysiwyg strong { color: #fff; font-weight: 600; }
.prodware-tabs__list-wysiwyg a { color: var(--clr-cyan); text-decoration: underline; }

.prodware-tabs__panel-actions { margin-top: var(--space-md); }

.prodware-tabs__panel-media {
	border-radius: var(--r-lg);
	overflow: hidden;
}
.prodware-tabs__panel-media img { width: 100%; height: auto; display: block; }

/* ==========================================================================
   WIDGET 10 — FAQ (.prodware-faq) — refined to match Figma exactly
   Clean white cards, 1.5px subtle border, chevron on right, smooth expand
   ========================================================================== */
.prodware-faq { padding: var(--space-xl); }

.prodware-faq__list {
	max-width: 1040px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.prodware-faq__item {
	background: #fff;
	border: 1.5px solid var(--clr-border);
	border-radius: 12px;
	overflow: hidden;
	transition: border-color .2s ease, box-shadow .2s ease;
}
.prodware-faq__item:hover  { border-color: rgba(69,107,255,0.35); }
.prodware-faq__item.is-open {
	border-color: rgba(69,107,255,0.6);
	box-shadow: 0 4px 16px rgba(19,30,66,0.06);
}

.prodware-faq__question {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	padding: 18px 22px;
	background: transparent !important;
	border: none;
	cursor: pointer;
	font-family: 'Poppins', sans-serif;
	font-weight: 600;
	font-size: 13.5px;
	line-height: 21px;
	color: var(--clr-text) !important;
	text-align: left;
	gap: var(--space-sm);
	outline: none;
}
.prodware-faq__question:focus-visible {
	box-shadow: inset 0 0 0 2px rgba(69,107,255,0.35);
	border-radius: 12px;
}

.prodware-faq__q-text { flex: 1; }

.prodware-faq__chevron {
	color: var(--clr-muted);
	transition: transform .3s cubic-bezier(.22,.61,.36,1), color .2s ease;
	flex-shrink: 0;
	display: inline-flex;
	width: 16px;
	height: 16px;
	align-items: center;
	justify-content: center;
}
.prodware-faq__chevron svg { width: 14px; height: 8px; }
.prodware-faq__item.is-open .prodware-faq__chevron {
	transform: rotate(180deg);
	color: var(--clr-blue);
}

.prodware-faq__answer {
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows .3s cubic-bezier(.22,.61,.36,1);
}
.prodware-faq__item.is-open .prodware-faq__answer { grid-template-rows: 1fr; }

.prodware-faq__answer-inner {
	overflow: hidden;
	padding: 0 22px;
	min-height: 0;
}
.prodware-faq__item.is-open .prodware-faq__answer-inner {
	padding: 0 22px 20px;
}

.prodware-faq__answer-inner p {
	margin: 0 0 10px;
	color: var(--clr-body);
	font-size: 13.5px;
	line-height: 23px;
}
.prodware-faq__answer-inner p:last-child { margin-bottom: 0; }

/* Dark preset */
.prodware-preset--style-2 .prodware-faq__item {
	background: var(--clr-navyL);
	border-color: rgba(255,255,255,0.10);
}
.prodware-preset--style-2 .prodware-faq__item:hover,
.prodware-preset--style-2 .prodware-faq__item.is-open { border-color: rgba(69,107,255,0.6); }
.prodware-preset--style-2 .prodware-faq__question { color: #fff !important; }
.prodware-preset--style-2 .prodware-faq__chevron  { color: rgba(255,255,255,0.5); }
.prodware-preset--style-2 .prodware-faq__answer-inner,
.prodware-preset--style-2 .prodware-faq__answer-inner p { color: rgba(255,255,255,0.80); }

/* Blue / Gradient presets */
.prodware-preset--style-1 .prodware-faq__item,
.prodware-preset--style-3 .prodware-faq__item {
	background: rgba(255,255,255,0.10);
	border-color: rgba(255,255,255,0.22);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
}
.prodware-preset--style-1 .prodware-faq__question,
.prodware-preset--style-3 .prodware-faq__question { color: #fff !important; }
.prodware-preset--style-1 .prodware-faq__chevron,
.prodware-preset--style-3 .prodware-faq__chevron { color: rgba(255,255,255,0.7); }
.prodware-preset--style-1 .prodware-faq__answer-inner p,
.prodware-preset--style-3 .prodware-faq__answer-inner p { color: rgba(255,255,255,0.85); }

/* ==========================================================================
   WIDGET 11 — WHY PRODWARE (.prodware-why)
   ========================================================================== */
.prodware-why { padding: var(--space-xl); overflow: hidden; }

.prodware-why__inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--space-xl);
	max-width: min(var(--container), 100%);
	width: 100%;
	margin: 0 auto;
	align-items: center;
}
.prodware-why__text .prodware-header { margin-bottom: var(--space-md); text-align: left; }
.prodware-why__actions { margin-top: var(--space-lg); }

.prodware-why__stats {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--space-sm);
}
.prodware-why__stats[data-count="1"] { grid-template-columns: 1fr; }
.prodware-why__stats[data-count="3"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }

/* Gradient border technique using background-clip */
.prodware-why__stat {
	--prodware-stat-bg: rgba(255,255,255,0.05);
	position: relative;
	padding: 24px;
	border-radius: 16px;
	background: var(--prodware-stat-bg);
	text-align: center;
	border: 1px solid transparent;
	background-clip: padding-box;
}
.prodware-why__stat::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	padding: 1px;
	background: var(--prodware-border-style, linear-gradient(90deg, var(--clr-pink), var(--clr-blue)));
	-webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
	mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	pointer-events: none;
}

/* Border style variants (applied to widget root via prefix_class) */
.prodware-why-border--gradient-pink-blue .prodware-why__stat { --prodware-border-style: linear-gradient(90deg, var(--clr-pink), var(--clr-blue)); }
.prodware-why-border--gradient-blue-cyan .prodware-why__stat { --prodware-border-style: linear-gradient(90deg, var(--clr-blue), var(--clr-cyan)); }
.prodware-why-border--solid-pink         .prodware-why__stat { --prodware-border-style: var(--clr-pink); }
.prodware-why-border--solid-blue         .prodware-why__stat { --prodware-border-style: var(--clr-blue); }
.prodware-why-border--solid-cyan         .prodware-why__stat { --prodware-border-style: var(--clr-cyan); }
.prodware-why-border--solid-white        .prodware-why__stat { --prodware-border-style: rgba(255,255,255,0.7); }

.prodware-why__stat-value {
	font-family: 'Poppins', sans-serif;
	font-weight: 600;
	font-size: 32px;
	line-height: 42px;
	color: #fff;
	margin-bottom: 8px;
}
.prodware-why__stat-value.is-gradient {
	background: var(--grad-text);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
}
.prodware-why__stat-label {
	font-weight: 400;
	font-size: 12px;
	line-height: 18px;
	color: rgba(255,255,255,0.65);
}

/* Default preset (light bg): adjust label color for readability */
.prodware-preset--default .prodware-why__stat { --prodware-stat-bg: var(--clr-white); }
.prodware-preset--default .prodware-why__stat-value:not(.is-gradient) { color: var(--clr-text); }
.prodware-preset--default .prodware-why__stat-label { color: var(--clr-body); }
.prodware-preset--default .prodware-why__text .prodware-header__title:not(.is-gradient) { color: var(--clr-text); }
.prodware-preset--default .prodware-why__text .prodware-header__subtitle { color: var(--clr-body); }

/* ==========================================================================
   WIDGET 12 — CHALLENGES (.prodware-ch)
   ========================================================================== */
.prodware-ch { padding: var(--space-xl); }

.prodware-ch__inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--space-lg);
	max-width: var(--container);
	margin: 0 auto;
	align-items: start;
}
.prodware-ch__inner--img-right { grid-template-areas: "cards media"; }
.prodware-ch__inner--img-right .prodware-ch__cards { grid-area: cards; }
.prodware-ch__inner--img-right .prodware-ch__media { grid-area: media; }

.prodware-ch__media {
	border-radius: var(--r-lg);
	overflow: hidden;
}
.prodware-ch__media img { width: 100%; height: auto; display: block; border-radius: var(--r-lg); }

.prodware-ch__inner.is-sticky .prodware-ch__media {
	position: sticky;
	top: 40px;
	align-self: start;
}

.prodware-ch__cards { display: flex; flex-direction: column; gap: 20px; }

.prodware-ch__card {
	background: #fff;
	border: 1px solid rgba(226,232,240,0.7);
	border-radius: var(--r-lg);
	padding: 28px;
	box-shadow: none;
	transition: transform .2s ease;
}
.prodware-ch__card:hover { transform: translateY(-2px); }

.prodware-ch__num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-width: 36px;
	height: 36px;
	padding: 0 10px;
	border-radius: 10px;
	background: #fff;
	border: 1px solid rgba(69,107,255,0.17);
	color: var(--clr-blue);
	font-weight: 700;
	font-size: 12px;
	margin-bottom: 20px;
}
.prodware-ch__num--icon { padding: 0; width: 36px; }
.prodware-ch__num .prodware-ch__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1em;
	height: 1em;
	font-size: 16px;
	color: inherit;
}
.prodware-ch__num .prodware-ch__icon svg,
.prodware-ch__num .prodware-ch__icon i {
	width: 1em;
	height: 1em;
	font-size: inherit;
	color: inherit;
	fill: currentColor;
}
.prodware-ch__num-text { line-height: 1; }

.prodware-ch__card-title { margin: 0 0 8px !important; font-size: 16px !important; line-height: 22px !important; font-weight: 600 !important; color: var(--clr-text); }
.prodware-ch__card-lead  { margin: 0 0 14px !important; font-size: 13px !important; line-height: 20px !important; color: var(--clr-muted); }
.prodware-ch__bullets { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.prodware-ch__bullets li {
	position: relative;
	padding-left: 16px;
	font-size: 12.5px;
	line-height: 20px;
	color: var(--clr-text);
}
.prodware-ch__bullets li::before {
	content: "";
	position: absolute;
	left: 0; top: 8px;
	width: 6px; height: 6px;
	background: currentColor;
	border-radius: 50%;
}

/* Card variants */
.prodware-ch__card--dark  { background: var(--clr-navy); border-color: var(--clr-bdDark); }
.prodware-ch__card--dark  .prodware-ch__card-title,
.prodware-ch__card--dark  .prodware-ch__card-lead,
.prodware-ch__card--dark  .prodware-ch__bullets li { color: #fff; }
.prodware-ch__card--dark  .prodware-ch__num { background: #fff; color: var(--clr-blue); }

.prodware-ch__card--blue  { background: var(--clr-blue); border-color: transparent; }
.prodware-ch__card--blue  .prodware-ch__card-title,
.prodware-ch__card--blue  .prodware-ch__card-lead,
.prodware-ch__card--blue  .prodware-ch__bullets li { color: #fff; }
.prodware-ch__card--blue  .prodware-ch__num { background: #fff; color: var(--clr-blue); }

.prodware-ch__card--light .prodware-ch__num { background: var(--clr-blue); color: #fff; }

/* ==========================================================================
   EXTRA RESPONSIVE for new widgets
   ========================================================================== */
@media (max-width: 1024px) {
	.prodware-cs, .prodware-tabs, .prodware-faq, .prodware-why, .prodware-ch {
		padding: var(--section) var(--gutter);
	}
	.prodware-cs__viewport { padding: 0; overflow: hidden; }
	.prodware-cs__slide { grid-template-columns: 1fr; gap: 0; padding: 0; }
	.prodware-cs__card { margin: -40px var(--space-md) 0; }
	.prodware-cs__image { height: 300px; }
	.prodware-cs__arrow--prev { left: 8px; }
	.prodware-cs__arrow--next { right: 8px; }

	.prodware-tabs__panel { grid-template-columns: 1fr; gap: var(--space-md); }
	/* Industries Tabs — mobile media order */
	.prodware-tabs-mobile--above .prodware-tabs__panel { grid-template-areas: "media" "body" !important; }
	.prodware-tabs-mobile--above .prodware-tabs__panel-body  { grid-area: body; }
	.prodware-tabs-mobile--above .prodware-tabs__panel-media { grid-area: media; }
	.prodware-tabs-mobile--hide  .prodware-tabs__panel-media { display: none !important; }

	.prodware-why__inner { grid-template-columns: 1fr; gap: var(--space-lg); }
	.prodware-why__text .prodware-header { text-align: left; }

	.prodware-ch__inner,
	.prodware-ch__inner--img-right {
		grid-template-columns: 1fr;
		grid-template-areas: "media" "cards";
		gap: var(--space-lg);
	}
	.prodware-ch__inner.is-sticky .prodware-ch__media { position: relative; top: auto; }
}

@media (max-width: 767px) {
	.prodware-cs__image { height: 220px; }
	.prodware-cs__card { margin: -32px 12px 0; }
	.prodware-cs__arrow { width: 36px; height: 36px; }

	.prodware-tabs__panels { padding: var(--space-md); border-radius: 16px; }

	.prodware-faq__question { padding: 16px 18px; font-size: 13px; }
	.prodware-faq__answer-inner { padding: 0 18px; }
	.prodware-faq__item.is-open .prodware-faq__answer-inner { padding: 0 18px 16px; }

	.prodware-why__stats { grid-template-columns: 1fr; }
	.prodware-why__stat { padding: 20px; }
	.prodware-why__stat-value { font-size: 28px; line-height: 36px; }

	.prodware-ch__card { padding: 20px; }
	.prodware-ch__card-title { font-size: 15px; line-height: 21px; }
}

/* ==========================================================================
   WIDGET 13 — TITLE (.prodware-title)
   ========================================================================== */
.prodware-title { font-family: 'Poppins', sans-serif; }

.prodware-title__eyebrow {
	font-family: 'Poppins', sans-serif;
	font-weight: 600;
	font-size: 11px;
	line-height: 16px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	margin-bottom: 12px;
}

.prodware-title__heading {
	font-family: 'Poppins', sans-serif;
	margin: 0 0 16px;
}

/* Typography presets mirroring the Figma design library */
.prodware-title__heading--display { font-weight: 700; font-size: 36px; line-height: 48px; }
.prodware-title__heading--section { font-weight: 600; font-size: 32px; line-height: 42px; }
.prodware-title__heading--sub     { font-weight: 600; font-size: 24px; line-height: 34px; }
.prodware-title__heading--card    { font-weight: 600; font-size: 17px; line-height: 24px; }
.prodware-title__heading--feature { font-weight: 500; font-size: 15px; line-height: 22px; }

@media (max-width: 1024px) {
	.prodware-title__heading--display { font-size: 28px; line-height: 38px; }
	.prodware-title__heading--section { font-size: 24px; line-height: 32px; }
	.prodware-title__heading--sub     { font-size: 20px; line-height: 28px; }
	.prodware-title__heading--card    { font-size: 16px; line-height: 22px; }
}
@media (max-width: 767px) {
	.prodware-title__heading--display { font-size: 22px; line-height: 30px; }
	.prodware-title__heading--section { font-size: 20px; line-height: 28px; }
	.prodware-title__heading--sub     { font-size: 18px; line-height: 26px; }
	.prodware-title__heading--card    { font-size: 15px; line-height: 22px; }
}

/* Whole title gradient */
.prodware-title__heading.is-gradient {
	background: var(--grad-text);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
}

/* Part 2 gradient (per-span) */
.prodware-title__p2.is-gradient {
	background: var(--grad-text);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
}

.prodware-title__subtitle {
	font-family: 'Poppins', sans-serif;
	font-weight: 400;
	font-size: 14px;
	line-height: 25px;
	margin: 0;
}
.prodware-title__subtitle p { margin: 0 0 12px; }
.prodware-title__subtitle p:last-child { margin-bottom: 0; }

/* Brand color helpers (used by Title widget) */
.prodware-color--text   { color: var(--clr-text); }
.prodware-color--body   { color: var(--clr-body); }
.prodware-color--muted  { color: var(--clr-muted); }
.prodware-color--blue   { color: var(--clr-blue); }
.prodware-color--navy   { color: var(--clr-navy); }
.prodware-color--cyan   { color: var(--clr-cyan); }
.prodware-color--pink   { color: var(--clr-pink); }
.prodware-color--purple { color: var(--clr-purple); }
.prodware-color--white  { color: var(--clr-white); }

/* ==========================================================================
   WIDGET 14 — BUTTON (.prodware-btn, standalone widget)
   Most button styles are already defined in the SHARED section near the top.
   Here we only add: sizes, icon positioning, wrapper alignment.
   ========================================================================== */
.prodware-btn-wrap { display: block; }

.prodware-btn--size-sm { min-height: 36px; padding: 0 20px; font-size: 13px; }
.prodware-btn--size-md { min-height: 44px; padding: 0 28px; font-size: 14px; } /* default — from design library */
.prodware-btn--size-lg { min-height: 52px; padding: 0 32px; font-size: 15px; }

.prodware-btn--has-icon { gap: 8px; }
.prodware-btn__icon { display: inline-flex; align-items: center; justify-content: center; }
.prodware-btn__icon i,
.prodware-btn__icon svg { width: 1em; height: 1em; font-size: inherit; }

/* ==========================================================================
   WIDGET 15 — CD CONTACT FORM (.prodware-form)
   ========================================================================== */
.prodware-form {
	font-family: 'Poppins', sans-serif;
	background-color: var(--clr-navy);
}

.prodware-form__inner {
	display: grid;
	grid-template-columns: 5fr 7fr;
	gap: var(--space-xl);
	max-width: var(--container);
	margin: 0 auto;
	align-items: center;
}

.prodware-form__left { color: #fff; }

.prodware-form__eyebrow {
	font-weight: 600;
	font-size: 11px;
	line-height: 16px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	margin-bottom: 12px;
	color: var(--clr-blue);
}

.prodware-form__title {
	margin: 0 0 var(--space-md);
	font-family: 'Poppins', sans-serif;
	font-weight: 700;
	font-size: 36px;
	line-height: 48px;
	color: #fff;
}

.prodware-form__p1 { color: #fff; }
.prodware-form__p2 { color: var(--clr-blue); }

.prodware-form__desc {
	margin: 0;
	font-weight: 400;
	font-size: 14px;
	line-height: 25px;
	color: #fff;
	max-width: 440px;
}

/* ---- Hide the Subject field on every contact form (global) ---- */
.prodware-form input[name="subject"] { display: none !important; }
.prodware-form__field:has(input[name="subject"]) { display: none !important; }

/* ---- Contact info icon list (Header / Left) ---- */
.prodware-form__info-list {
	list-style: none;
	margin: 28px 0 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 20px;
	max-width: 440px;
}
.prodware-form__info-item {
	display: flex;
	align-items: center;
	gap: 14px;
}
.prodware-form__info-icon {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: rgba(69,107,255,0.10);
	color: var(--clr-blue);
	font-size: 18px;
}
.prodware-form__info-icon svg { width: 1em; height: 1em; fill: currentColor; }
.prodware-form__info-icon i { font-size: inherit; color: inherit; }
.prodware-form__info-body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.prodware-form__info-title {
	font-family: 'Poppins', sans-serif;
	font-weight: 600;
	font-size: 14px;
	line-height: 20px;
	color: var(--clr-text);
}
.prodware-form__info-text {
	font-size: 14px;
	line-height: 20px;
	color: var(--clr-body);
	text-decoration: none;
	word-break: break-word;
}
a.prodware-form__info-text:hover { color: var(--clr-blue); text-decoration: underline; }
/* On dark presets, lift the label/value colors for contrast */
.prodware-preset--style-1 .prodware-form__info-title,
.prodware-preset--style-2 .prodware-form__info-title,
.prodware-preset--style-3 .prodware-form__info-title { color: #fff; }
.prodware-preset--style-1 .prodware-form__info-text,
.prodware-preset--style-2 .prodware-form__info-text,
.prodware-preset--style-3 .prodware-form__info-text { color: rgba(255,255,255,0.75); }

.prodware-form__right { position: relative; }

.prodware-form__iframe {
	width: 100%;
	min-height: 500px;
	border: 0;
	background: transparent;
	border-radius: var(--r-md);
	display: block;
}

.prodware-form__placeholder {
	padding: var(--space-lg);
	background: rgba(255,255,255,0.05);
	border: 1.5px dashed rgba(255,255,255,0.2);
	border-radius: var(--r-md);
	color: rgba(255,255,255,0.8);
	font-size: 14px;
	line-height: 22px;
	text-align: center;
}
.prodware-form__placeholder code {
	display: inline-block;
	padding: 4px 8px;
	background: rgba(0,0,0,0.3);
	border-radius: 4px;
	font-size: 12px;
	color: #fff;
}

/* Preset support — the form widget inherits dark navy by default,
   but if a different preset is picked, adjust the text colors. */
.prodware-preset--default .prodware-form {
	background-color: var(--clr-bgGray);
}
.prodware-preset--default .prodware-form__title,
.prodware-preset--default .prodware-form__p1 { color: var(--clr-text); }
.prodware-preset--default .prodware-form__desc { color: var(--clr-body); }

.prodware-preset--style-1 .prodware-form {
	background-color: var(--clr-blue);
}
.prodware-preset--style-3 .prodware-form {
	background: var(--grad-primary);
}

/* Responsive */
@media (max-width: 1024px) {
	.prodware-form__inner { grid-template-columns: 1fr; gap: var(--space-lg); }
	.prodware-form__title { font-size: 28px; line-height: 38px; }
}
@media (max-width: 767px) {
	.prodware-form__title { font-size: 24px; line-height: 32px; }
	.prodware-form__desc { font-size: 13px; line-height: 22px; }
}

/* ==========================================================================
   WIDGET 16 — HERO (.prodware-hero)
   Source: Figma 557:2003
   ========================================================================== */
.prodware-hero {
	position: relative;
	overflow: hidden;
	padding: 100px 80px;
	font-family: 'Poppins', sans-serif;
}

/* Figma's exact custom hero gradient */
.prodware-hero.has-custom-gradient {
	background-image: linear-gradient(159deg, #131E42 14.6%, #131E42 42.9%, #1B2857 67.7%, #2E286B 85.4%);
}

/* Background image layer */
.prodware-hero.has-bg-image {
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}
.prodware-hero.has-bg-image.has-overlay::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(19,30,66,0.55), rgba(19,30,66,0.75));
	pointer-events: none;
	z-index: 0;
}

.prodware-hero__inner {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--space-xl);
	align-items: center;
	max-width: var(--container);
	margin: 0 auto;
}
.prodware-hero--img-left .prodware-hero__inner  { grid-template-areas: "media content"; }
.prodware-hero--img-left .prodware-hero__media   { grid-area: media;   }
.prodware-hero--img-left .prodware-hero__content { grid-area: content; }

/* When no media is shown, content takes full width and keeps the same min-height */
.prodware-hero--media-none .prodware-hero__inner {
	grid-template-columns: 1fr;
}
.prodware-hero--media-none .prodware-hero__content {
	max-width: 800px;
}

/* ---- Left content ---- */
.prodware-hero__content { color: #fff; }

.prodware-hero__eyebrow {
	font-weight: 600;
	font-size: 11px;
	line-height: 16px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	margin-bottom: 16px;
	color: var(--clr-cyan);
}

.prodware-hero__title {
	margin: 0 0 32px !important;
	font-family: 'Poppins', sans-serif;
	font-weight: 700;
	font-size: 48px;
	line-height: 60px;
	color: #fff;
}
.prodware-hero__title.is-gradient {
	background: var(--grad-text);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
}
.prodware-hero__p1 { color: #fff; }
.prodware-hero__p2 { color: var(--clr-blue); }

.prodware-hero__desc {
	margin: 0 0 40px !important;
	font-weight: 400;
	font-size: 15px;
	line-height: 27px;
	color: #fff;
	max-width: 520px;
}

.prodware-hero__actions {
	display: flex;
	gap: var(--space-sm);
	flex-wrap: wrap;
}

/* ---- Right media ---- */
.prodware-hero__media {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 320px;
}
.prodware-hero__image {
	position: relative;
	z-index: 2;
	max-width: 100%;
	max-height: 420px;
	width: auto;
	height: auto;
	display: block;
	border-radius: 16px;
	box-shadow: 0 30px 60px rgba(0,0,0,0.25);
}

/* Glow orbs */
.prodware-hero__glow {
	position: absolute;
	border-radius: 50%;
	filter: blur(60px);
	opacity: 0.45;
	pointer-events: none;
	z-index: 1;
}
.prodware-hero__glow--blue   { width: 320px; height: 320px; background: var(--clr-blue);   top: 20%; left: -5%; }
.prodware-hero__glow--purple { width: 360px; height: 360px; background: var(--clr-purple); bottom: 10%; right: -10%; }

/* Floating stat badge */
.prodware-hero__stat {
	position: absolute;
	z-index: 3;
	min-width: 152px;
	padding: 16px 16px 12px;
	border-radius: 14px;
	background: linear-gradient(135deg, rgba(27,40,87,0.95), rgba(19,30,66,0.95));
	border: 1px solid;
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
	overflow: hidden;
}
.prodware-hero__stat::before {
	/* This is the top accent bar */
	content: "";
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 3px;
	background: currentColor;
}
.prodware-hero__stat-value { font-weight: 700; font-size: 18px; line-height: 22px; margin-bottom: 4px; }
.prodware-hero__stat-label { font-weight: 400; font-size: 10px; line-height: 14px; color: rgba(255,255,255,0.65); }

.prodware-hero__stat--cyan   { color: var(--clr-cyan);   border-color: rgba(69,205,255,0.4); }
.prodware-hero__stat--cyan   .prodware-hero__stat-value { color: var(--clr-cyan);   }
.prodware-hero__stat--blue   { color: var(--clr-blue);   border-color: rgba(69,107,255,0.5); }
.prodware-hero__stat--blue   .prodware-hero__stat-value { color: var(--clr-blue);   }
.prodware-hero__stat--pink   { color: var(--clr-pink);   border-color: rgba(255,113,252,0.5); }
.prodware-hero__stat--pink   .prodware-hero__stat-value { color: var(--clr-pink);   }
.prodware-hero__stat--purple { color: var(--clr-purple); border-color: rgba(144,95,223,0.5); }
.prodware-hero__stat--purple .prodware-hero__stat-value { color: var(--clr-purple); }

.prodware-hero__stat--tl { top: 20px;    left: 20px;    }
.prodware-hero__stat--tr { top: 20px;    right: 20px;   }
.prodware-hero__stat--bl { bottom: 20px; left: 20px;    }
.prodware-hero__stat--br { bottom: 20px; right: 20px;   }

/* Scroll hint pill */
.prodware-hero__scroll-hint {
	position: absolute;
	z-index: 2;
	bottom: 32px;
	left: 50%;
	transform: translateX(-50%);
	padding: 4px 14px;
	border-radius: 50px;
	background: rgba(255,255,255,0.08);
	border: 1px solid rgba(255,255,255,0.15);
	color: rgba(255,255,255,0.45);
	font-size: 9px;
	font-weight: 400;
	letter-spacing: 0.5px;
}

/* ==========================================================================
   HERO — RESPONSIVE
   ========================================================================== */
@media (max-width: 1024px) {
	.prodware-hero { padding: 64px 40px; }
	.prodware-hero__inner,
	.prodware-hero--img-left .prodware-hero__inner {
		grid-template-columns: 1fr;
		grid-template-areas: "content" "media";
		gap: var(--space-lg);
	}
	/* Mobile media order: above text */
	.prodware-hero-mobile--above .prodware-hero__inner {
		grid-template-areas: "media" "content" !important;
	}
	/* Mobile media: hidden */
	.prodware-hero-mobile--hide .prodware-hero__media { display: none !important; }
	.prodware-hero-mobile--hide .prodware-hero__inner {
		grid-template-areas: "content" !important;
	}

	.prodware-hero__title { font-size: 36px; line-height: 46px; }
	.prodware-hero__desc  { font-size: 14px; line-height: 25px; }
	.prodware-hero__media { min-height: 220px; }
	.prodware-hero__image { max-height: 320px; }
	.prodware-hero__glow--blue   { width: 220px; height: 220px; }
	.prodware-hero__glow--purple { width: 260px; height: 260px; }
}

@media (max-width: 767px) {
	.prodware-hero { padding: 48px 20px; }
	.prodware-hero__title { font-size: 28px; line-height: 36px; }
	.prodware-hero__desc  { font-size: 13px; line-height: 22px; margin-bottom: var(--space-md); }
	.prodware-hero__actions { flex-direction: row; flex-wrap: wrap; align-items: flex-start; gap: 10px; }
	.prodware-hero__actions .prodware-btn { width: auto; }
	.prodware-hero__image { max-height: 240px; }
	.prodware-hero__stat { min-width: 120px; padding: 12px 12px 10px; }
	.prodware-hero__stat-value { font-size: 16px; }
	.prodware-hero__scroll-hint { display: none; }
}

/* ==========================================================================
   HERO — VIDEO MEDIA
   ========================================================================== */
.prodware-hero__video {
	position: relative;
	width: 100%;
	max-width: 540px;
	aspect-ratio: 16 / 10;
	border-radius: 16px;
	overflow: hidden;
	border: 1.5px solid;
	border-image: linear-gradient(135deg, rgba(69,107,255,0.8), rgba(69,205,255,0.8)) 1;
	background: #0e1736;
	box-shadow: 0 20px 48px rgba(0,0,0,0.35);
	z-index: 2;
}

.prodware-hero__video-poster {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: 16px;
	cursor: pointer;
}
.prodware-hero__video-poster::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(14,23,54,0.2) 0%, rgba(14,23,54,0.55) 100%);
}

.prodware-hero__video-placeholder {
	position: absolute;
	bottom: 36%;
	left: 50%;
	transform: translateX(-50%);
	color: rgba(255,255,255,0.35);
	font-size: 12px;
	font-family: monospace;
}

.prodware-hero__video-play {
	position: relative;
	z-index: 2;
	width: 72px; height: 72px;
	border-radius: 50%;
	background: rgba(255,255,255,0.92);
	border: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	color: var(--clr-navy);
	font-size: 22px;
	transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
	box-shadow: 0 8px 24px rgba(0,0,0,0.25);
}
.prodware-hero__video-play:hover {
	transform: scale(1.08);
	background: #fff;
	box-shadow: 0 12px 32px rgba(0,0,0,0.35);
}
.prodware-hero__video-play i,
.prodware-hero__video-play svg { width: 1em; height: 1em; fill: currentColor; }

.prodware-hero__video-caption {
	position: relative;
	z-index: 2;
	color: #fff;
	font-weight: 600;
	font-size: 15px;
	text-align: center;
}

/* Video attribution chip (bottom-left of the media column) */
.prodware-hero__video-attrib {
	position: absolute;
	bottom: 24px;
	left: 24px;
	z-index: 4;
	padding: 10px 16px;
	border-radius: 10px;
	background: rgba(14,23,54,0.92);
	border: 1px solid rgba(69,205,255,0.3);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	max-width: 240px;
}
.prodware-hero__video-attrib-name { color: #fff; font-weight: 600; font-size: 13px; line-height: 18px; }
.prodware-hero__video-attrib-role { color: var(--clr-cyan); font-size: 11px; line-height: 16px; margin-top: 2px; }

/* When playing, iframe/video replaces poster */
.prodware-hero__video.is-playing .prodware-hero__video-poster { display: none; }
.prodware-hero__video iframe,
.prodware-hero__video video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
	z-index: 3;
}

@media (max-width: 767px) {
	.prodware-hero__video { aspect-ratio: 16 / 10; max-width: 100%; }
	.prodware-hero__video-play { width: 56px; height: 56px; font-size: 18px; }
	.prodware-hero__video-attrib { bottom: 16px; left: 16px; padding: 8px 12px; max-width: calc(100% - 32px); }
}

/* ==========================================================================
   CHALLENGES — inner-scroll cards column
   ========================================================================== */
.prodware-ch__inner.is-inner-scroll {
	align-items: start;
}
.prodware-ch__inner.is-inner-scroll .prodware-ch__media {
	position: sticky;
	top: 40px;
	align-self: start;
}
.prodware-ch__inner.is-inner-scroll .prodware-ch__cards {
	overflow-y: auto;
	scrollbar-width: thin;
	scrollbar-color: rgba(69,107,255,0.4) transparent;
	padding-right: 12px;
	-webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 24px, #000 calc(100% - 24px), transparent 100%);
	        mask-image: linear-gradient(to bottom, transparent 0, #000 24px, #000 calc(100% - 24px), transparent 100%);
}
.prodware-ch__inner.is-inner-scroll .prodware-ch__cards::-webkit-scrollbar {
	width: 6px;
}
.prodware-ch__inner.is-inner-scroll .prodware-ch__cards::-webkit-scrollbar-track {
	background: transparent;
}
.prodware-ch__inner.is-inner-scroll .prodware-ch__cards::-webkit-scrollbar-thumb {
	background: rgba(69,107,255,0.35);
	border-radius: 3px;
}
.prodware-ch__inner.is-inner-scroll .prodware-ch__cards::-webkit-scrollbar-thumb:hover {
	background: rgba(69,107,255,0.6);
}

/* Mobile: disable inner-scroll so cards flow naturally */
@media (max-width: 767px) {
	.prodware-ch__inner.is-inner-scroll .prodware-ch__media { position: relative; top: auto; }
	.prodware-ch__inner.is-inner-scroll .prodware-ch__cards {
		overflow: visible;
		max-height: none !important;
		padding-right: 0;
		-webkit-mask-image: none;
		        mask-image: none;
	}
}


/* ==========================================================================
   WIDGET 17 — STORY (.prodware-story)
   Based on the "Story Behind Prodware" screenshot
   ========================================================================== */
.prodware-story {
	padding: var(--space-xl);
	background-color: var(--clr-navy);
	font-family: 'Poppins', sans-serif;
}

.prodware-story__inner {
	display: grid;
	grid-template-columns: minmax(260px, 340px) 1fr;
	gap: var(--space-xl);
	max-width: var(--container);
	margin: 0 auto;
	align-items: start;
}
.prodware-story__inner--tabs-right {
	grid-template-columns: 1fr minmax(260px, 340px);
	grid-template-areas: "panels sidebar";
}
.prodware-story__inner--tabs-right .prodware-story__sidebar { grid-area: sidebar; }
.prodware-story__inner--tabs-right .prodware-story__panels  { grid-area: panels; }

/* --- Sidebar --- */
.prodware-story__eyebrow {
	font-weight: 600;
	font-size: 11px;
	line-height: 16px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--clr-cyan);
	margin-bottom: 8px;
	padding-bottom: 8px;
	border-bottom: 1px solid rgba(69,205,255,0.35);
	display: inline-block;
}

.prodware-story__title {
	margin: 16px 0 28px;
	font-weight: 600;
	font-size: 28px;
	line-height: 36px;
	color: #fff;
}

.prodware-story__tabs {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.prodware-story__tab {
	position: relative;
	display: flex;
	align-items: center;
	gap: 12px;
	width: 100%;
	padding: 10px 14px;
	background: transparent;
	border: 1px solid transparent;
	border-radius: 10px;
	cursor: pointer;
	color: rgba(255,255,255,0.65);
	font-family: 'Poppins', sans-serif;
	font-weight: 500;
	font-size: 13.5px;
	line-height: 20px;
	text-align: left;
	transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.prodware-story__tab:hover {
	background: rgba(255,255,255,0.04);
	color: #fff;
}
.prodware-story__tab.is-active {
	background: rgba(69,107,255,0.12);
	border-color: rgba(69,107,255,0.45);
	color: #fff;
}

.prodware-story__tab-icon {
	width: 28px; height: 28px;
	border-radius: 7px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	border: 1px solid;
	background: rgba(255,255,255,0.04);
}
.prodware-story__tab-icon i,
.prodware-story__tab-icon svg { width: 14px; height: 14px; font-size: 13px; }
.prodware-story__tab-icon svg { fill: currentColor; }

/* Icon color variants */
.prodware-story__tab--blue   .prodware-story__tab-icon { color: var(--clr-blue);   border-color: rgba(69,107,255,0.35);  background: rgba(69,107,255,0.12); }
.prodware-story__tab--cyan   .prodware-story__tab-icon { color: var(--clr-cyan);   border-color: rgba(69,205,255,0.35);  background: rgba(69,205,255,0.12); }
.prodware-story__tab--pink   .prodware-story__tab-icon { color: var(--clr-pink);   border-color: rgba(255,113,252,0.35); background: rgba(255,113,252,0.12); }
.prodware-story__tab--purple .prodware-story__tab-icon { color: var(--clr-purple); border-color: rgba(144,95,223,0.35);  background: rgba(144,95,223,0.12); }
.prodware-story__tab--yellow .prodware-story__tab-icon { color: #FFD24A;           border-color: rgba(255,210,74,0.35);  background: rgba(255,210,74,0.12); }

.prodware-story__tab-label { flex: 1; }

/* --- Panels --- */
.prodware-story__panels { position: relative; }

.prodware-story__panel {
	display: none;
	padding-top: 8px;
}
.prodware-story__panel.is-active { display: block; animation: prodwareFadeIn .35s ease both; }

@keyframes prodwareFadeIn {
	from { opacity: 0; transform: translateY(4px); }
	to   { opacity: 1; transform: translateY(0); }
}

.prodware-story__content-title {
	margin: 0 0 16px;
	font-family: 'Poppins', sans-serif;
	font-weight: 600;
	font-size: 24px;
	line-height: 32px;
	color: #fff;
}

.prodware-story__content-desc {
	margin: 0 0 24px;
	font-weight: 400;
	font-size: 14px;
	line-height: 25px;
	color: rgba(255,255,255,0.80);
}

.prodware-story__bullets {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.prodware-story__bullets li {
	position: relative;
	padding-left: 20px;
	font-size: 13.5px;
	line-height: 22px;
	color: rgba(255,255,255,0.85);
}
.prodware-story__bullets li::before {
	content: "";
	position: absolute;
	left: 0; top: 8px;
	width: 8px; height: 8px;
	border-radius: 50%;
	background: var(--clr-cyan);
}

/* Preset overrides */
.prodware-preset--default .prodware-story {
	background-color: var(--clr-bgGray);
}
.prodware-preset--default .prodware-story__title,
.prodware-preset--default .prodware-story__content-title { color: var(--clr-text); }
.prodware-preset--default .prodware-story__content-desc { color: var(--clr-body); }
.prodware-preset--default .prodware-story__tab { color: var(--clr-body); }
.prodware-preset--default .prodware-story__tab:hover { background: rgba(69,107,255,0.06); color: var(--clr-text); }
.prodware-preset--default .prodware-story__tab.is-active {
	background: rgba(69,107,255,0.08);
	border-color: rgba(69,107,255,0.3);
	color: var(--clr-text);
}
.prodware-preset--default .prodware-story__bullets li { color: var(--clr-text); }

.prodware-preset--style-1 .prodware-story { background-color: var(--clr-blue); }
.prodware-preset--style-3 .prodware-story { background: var(--grad-primary); }

/* Responsive */
@media (max-width: 1024px) {
	.prodware-story { padding: var(--section) var(--gutter); }
	.prodware-story__inner,
	.prodware-story__inner--tabs-right {
		grid-template-columns: 1fr;
		grid-template-areas: "sidebar" "panels";
		gap: var(--space-lg);
	}
	.prodware-story__tabs {
		flex-direction: row;
		overflow-x: auto;
		scroll-behavior: smooth;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		padding-bottom: 4px;
	}
	.prodware-story__tabs::-webkit-scrollbar { display: none; }
	.prodware-story__tab { flex: 0 0 auto; }
	.prodware-story__title { font-size: 24px; line-height: 32px; margin-bottom: 20px; }
}

@media (max-width: 767px) {
	.prodware-story__title { font-size: 22px; line-height: 30px; }
	.prodware-story__content-title { font-size: 20px; line-height: 28px; }
	.prodware-story__tab { padding: 10px 14px; font-size: 13px; }
	.prodware-story__tab-icon { width: 28px; height: 28px; }
}


/* ==========================================================================
   WIDGET 18 — INTERACTIVE MAP (.prodware-map) — v2 with country filtering
   ========================================================================== */
.prodware-map {
	padding: 48px 40px;
	font-family: 'Poppins', sans-serif;
	background-color: var(--clr-bgGray);
}

/* ---------- Map card ---------- */
.prodware-map__card {
	position: relative;
	max-width: 760px;
	margin: 0 auto;
	background-color: #FFFFFF;
	border: 1px solid rgba(19, 30, 66, 0.08);
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 4px 16px rgba(19,30,66,0.04);
}
/* Fit display (default for uploaded images): card sizes to the image so the
   whole map stays visible and the section stays compact. */
.prodware-map__card--fit  { height: auto; }
/* Fixed display + the decorative SVG card use a set height (see Card Height). */
.prodware-map__card--fixed,
.prodware-map__card--svg   { height: 320px; }

.prodware-map__stage {
	position: relative;
	width: 100%;
	height: 100%;
}
.prodware-map__card--fit .prodware-map__stage { height: auto; }

.prodware-map__illustration {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}
.prodware-map__svg   { width: 100%; height: 100%; display: block; }
.prodware-map__globe { width: 100%; height: 100%; display: block; }

/* Fixed / SVG card: image fills and crops. */
.prodware-map__card--fixed .prodware-map__image,
.prodware-map__card--svg .prodware-map__image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 1;
}
/* Fit card: image defines the card height and shows in full (crisp, no crop). */
.prodware-map__card--fit .prodware-map__image {
	position: relative;
	display: block;
	width: 100%;
	height: auto;
	z-index: 1;
}

/* ---------- Pins (clickable buttons) ---------- */
.prodware-map__pin {
	--pin-size: 13px;
	position: absolute;
	z-index: 3;
	box-sizing: border-box;
	width: var(--pin-size);
	height: var(--pin-size);
	min-width: 0;
	min-height: 0;
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	background: transparent;
	-webkit-appearance: none;
	appearance: none;
	line-height: 0;
	font-size: 0;
	transform: translate(-50%, -50%);
	cursor: pointer;
	color: var(--clr-blue);
	transition: transform .2s ease;
}
.prodware-map__pin:hover     { transform: translate(-50%, -50%) scale(1.25); z-index: 4; }
.prodware-map__pin:focus     { outline: none; }
.prodware-map__pin:focus-visible { outline: 2px solid var(--clr-blue); outline-offset: 3px; border-radius: 50%; }

/* Defeat aggressive theme/Elementor button styling on the pin button. */
.prodware-map .prodware-map__pin,
.prodware-widget .prodware-map__pin {
	width: var(--pin-size) !important;
	height: var(--pin-size) !important;
	min-width: 0 !important;
	min-height: 0 !important;
	max-width: none !important;
	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 50% !important;
	background: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
	line-height: 0 !important;
	font-size: 0 !important;
	-webkit-appearance: none !important;
	appearance: none !important;
}

.prodware-map__pin-dot {
	display: block;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	border-radius: 50%;
	background: currentColor;
	box-shadow: 0 0 0 2px #fff, 0 2px 5px rgba(19, 30, 66, 0.28);
	transition: box-shadow .2s ease;
}
.prodware-map__pin--blue   .prodware-map__pin-dot { background: var(--clr-blue); }
.prodware-map__pin--cyan   .prodware-map__pin-dot { background: var(--clr-cyan); }
.prodware-map__pin--pink   .prodware-map__pin-dot { background: var(--clr-pink); }
.prodware-map__pin--purple .prodware-map__pin-dot { background: var(--clr-purple); }

.prodware-map__pin--blue   { color: var(--clr-blue); }
.prodware-map__pin--cyan   { color: var(--clr-cyan); }
.prodware-map__pin--pink   { color: var(--clr-pink); }
.prodware-map__pin--purple { color: var(--clr-purple); }

/* Active pin: bigger ring */
.prodware-map__pin.is-active .prodware-map__pin-dot {
	box-shadow: 0 0 0 3px #fff, 0 0 0 5px currentColor, 0 4px 10px rgba(19,30,66,0.3);
}

/* Subtle pulse (kept small — scales from the compact dot only) */
.prodware-map__pin.is-animated::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 50%;
	background: currentColor;
	opacity: 0.4;
	animation: prodware-map-pulse 2.4s cubic-bezier(.22,.61,.36,1) infinite;
	pointer-events: none;
}
@keyframes prodware-map-pulse {
	0%   { transform: scale(1);   opacity: 0.45; }
	70%  { transform: scale(2.2); opacity: 0; }
	100% { transform: scale(2.2); opacity: 0; }
}

/* Tooltip on hover + when active */
.prodware-map__pin-tooltip {
	position: absolute;
	left: 50%;
	bottom: calc(100% + 10px);
	transform: translateX(-50%) scale(0.92);
	padding: 6px 12px;
	background: var(--clr-navy);
	color: #fff;
	font-size: 12px;
	font-weight: 500;
	line-height: 18px;
	white-space: nowrap;
	border-radius: 8px;
	box-shadow: 0 4px 12px rgba(19,30,66,0.25);
	opacity: 0;
	pointer-events: none;
	transition: opacity .15s ease, transform .15s ease;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	z-index: 5;
}
.prodware-map__pin-tooltip::after {
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	border: 5px solid transparent;
	border-top-color: var(--clr-navy);
}
.prodware-map__pin:hover    .prodware-map__pin-tooltip,
.prodware-map__pin.is-active .prodware-map__pin-tooltip {
	opacity: 1;
	transform: translateX(-50%) scale(1);
}
.prodware-map__pin-flag  { font-size: 14px; line-height: 1; }
.prodware-map__pin-count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 18px;
	padding: 0 5px;
	height: 18px;
	border-radius: 9px;
	background: var(--clr-blue);
	color: #fff;
	font-size: 10px;
	font-weight: 600;
}

/* ---------- Dropdown selector ---------- */
.prodware-map__controls {
	max-width: var(--container);
	margin: var(--space-md) auto 0;
	display: flex;
	align-items: center;
	gap: var(--space-sm);
	flex-wrap: wrap;
}

.prodware-map__label {
	font-family: 'Poppins', sans-serif;
	font-weight: 500;
	font-size: 13px;
	color: var(--clr-body);
}

.prodware-map__select-wrap {
	position: relative;
	flex: 1;
	max-width: 420px;
	min-width: 260px;
}
.prodware-map__select-wrap::after {
	content: "";
	position: absolute;
	right: 18px;
	top: 50%;
	width: 10px;
	height: 10px;
	border-right: 2px solid var(--clr-muted);
	border-bottom: 2px solid var(--clr-muted);
	transform: translateY(-70%) rotate(45deg);
	pointer-events: none;
}

.prodware-map__select {
	width: 100%;
	padding: 12px 44px 12px 18px;
	background: #fff;
	border: 1.5px solid var(--clr-border);
	border-radius: 12px;
	font-family: 'Poppins', sans-serif;
	font-weight: 500;
	font-size: 14px;
	line-height: 20px;
	color: var(--clr-text);
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	transition: border-color .2s ease, box-shadow .2s ease;
}
.prodware-map__select:hover { border-color: rgba(69,107,255,0.4); }
.prodware-map__select:focus {
	outline: none;
	border-color: var(--clr-blue);
	box-shadow: 0 0 0 3px rgba(69,107,255,0.15);
}

/* ---------- Country groups ---------- */
.prodware-map__offices-wrap {
	max-width: var(--container);
	margin: var(--space-lg) auto 0;
}

.prodware-map__country-group + .prodware-map__country-group {
	margin-top: var(--space-lg);
	padding-top: var(--space-lg);
	border-top: 1px solid var(--clr-border);
}
.prodware-map__country-group.is-hidden,
.prodware-map__country-group[hidden] {
	display: none !important;
	visibility: hidden !important;
	height: 0 !important;
	overflow: hidden !important;
}

.prodware-map__country-head {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: var(--space-md);
}

.prodware-map__country-flag {
	font-size: 28px;
	line-height: 1;
}

.prodware-map__country-name {
	font-family: 'Poppins', sans-serif;
	font-weight: 600;
	font-size: 20px;
	line-height: 26px;
	color: var(--clr-text);
}

.prodware-map__country-count {
	font-weight: 400;
	font-size: 13px;
	color: var(--clr-muted);
	padding: 3px 10px;
	border-radius: 50px;
	background: rgba(69,107,255,0.08);
	color: var(--clr-blue);
	font-weight: 600;
}

.prodware-map__empty {
	font-size: 13px;
	color: var(--clr-muted);
	font-style: italic;
	margin: 0;
	padding: 16px 0;
}

/* ---------- Office cards grid ---------- */
.prodware-map__offices {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}
.prodware-map__offices--cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.prodware-map__offices--cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.prodware-map__office {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding: 18px 20px;
	background: #fff;
	border: 1px solid var(--clr-border);
	border-radius: 12px;
	text-decoration: none;
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
	box-shadow: 0 2px 8px rgba(19,30,66,0.04);
}
a.prodware-map__office:hover {
	transform: translateY(-2px);
	border-color: rgba(69,107,255,0.35);
	box-shadow: 0 8px 24px rgba(19,30,66,0.08);
}

.prodware-map__office-flag {
	font-size: 22px;
	line-height: 1;
	flex-shrink: 0;
	margin-top: 1px;
}

.prodware-map__office-body { flex: 1; min-width: 0; }

.prodware-map__office-city {
	font-family: 'Poppins', sans-serif;
	font-weight: 600;
	font-size: 15px;
	line-height: 20px;
	color: var(--clr-text);
}

.prodware-map__office-country {
	font-weight: 400;
	font-size: 13px;
	line-height: 18px;
	color: var(--clr-muted);
	margin-top: 2px;
}

.prodware-map__office-contact {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 6px;
	font-size: 12px;
	line-height: 16px;
	color: var(--clr-muted);
}
.prodware-map__office-contact a {
	color: var(--clr-blue);
	text-decoration: none;
	transition: color .15s ease;
}
.prodware-map__office-contact a:hover { color: var(--clr-navyL); text-decoration: underline; }
.prodware-map__office-contact span { opacity: 0.5; }

/* Badges */
.prodware-map__office-badge {
	flex-shrink: 0;
	padding: 4px 10px;
	border-radius: 50px;
	font-family: 'Poppins', sans-serif;
	font-weight: 600;
	font-size: 10px;
	line-height: 14px;
	letter-spacing: 0.8px;
	text-transform: uppercase;
}
.prodware-map__office-badge--hq       { background: rgba(69,107,255,0.12); color: var(--clr-blue); }
.prodware-map__office-badge--regional { background: transparent;            color: var(--clr-muted); font-weight: 500; }
.prodware-map__office-badge--office   { background: transparent;            color: var(--clr-muted); font-weight: 500; }
.prodware-map__office-badge--partner  { background: rgba(69,205,255,0.12); color: var(--clr-cyan); }

/* ---------- Preset overrides ---------- */
.prodware-preset--style-2 .prodware-map { background-color: var(--clr-navy); }
.prodware-preset--style-2 .prodware-map__card {
	background-color: rgba(255,255,255,0.04);
	border-color: rgba(255,255,255,0.12);
}
.prodware-preset--style-2 .prodware-map__label,
.prodware-preset--style-2 .prodware-map__country-name { color: #fff; }
.prodware-preset--style-2 .prodware-map__country-group + .prodware-map__country-group { border-top-color: rgba(255,255,255,0.1); }
.prodware-preset--style-2 .prodware-map__select {
	background: var(--clr-navyL);
	border-color: rgba(255,255,255,0.15);
	color: #fff;
}
.prodware-preset--style-2 .prodware-map__select-wrap::after { border-color: rgba(255,255,255,0.6); }
.prodware-preset--style-2 .prodware-map__office {
	background: var(--clr-navyL);
	border-color: rgba(255,255,255,0.08);
	box-shadow: none;
}
.prodware-preset--style-2 .prodware-map__office-city { color: #fff; }
.prodware-preset--style-2 .prodware-map__office-country { color: rgba(255,255,255,0.65); }
.prodware-preset--style-2 .prodware-map__office-contact { color: rgba(255,255,255,0.55); }
.prodware-preset--style-2 .prodware-map__office-badge--regional,
.prodware-preset--style-2 .prodware-map__office-badge--office { color: rgba(255,255,255,0.55); }
.prodware-preset--style-2 .prodware-map__country-count { background: rgba(69,205,255,0.18); color: var(--clr-cyan); }

.prodware-preset--style-1 .prodware-map { background-color: var(--clr-blue); }
.prodware-preset--style-1 .prodware-map__card { background: rgba(255,255,255,0.12); border-color: rgba(255,255,255,0.22); }
.prodware-preset--style-1 .prodware-map__label,
.prodware-preset--style-1 .prodware-map__country-name { color: #fff; }
.prodware-preset--style-1 .prodware-map__select { background: rgba(255,255,255,0.15); border-color: rgba(255,255,255,0.3); color: #fff; }
.prodware-preset--style-1 .prodware-map__office { background: rgba(255,255,255,0.12); border-color: rgba(255,255,255,0.22); box-shadow: none; }
.prodware-preset--style-1 .prodware-map__office-city { color: #fff; }
.prodware-preset--style-1 .prodware-map__office-country { color: rgba(255,255,255,0.8); }

.prodware-preset--style-3 .prodware-map { background: var(--grad-primary); }
.prodware-preset--style-3 .prodware-map__card { background: rgba(255,255,255,0.12); border-color: rgba(255,255,255,0.22); }
.prodware-preset--style-3 .prodware-map__label,
.prodware-preset--style-3 .prodware-map__country-name { color: #fff; }
.prodware-preset--style-3 .prodware-map__select { background: rgba(255,255,255,0.15); border-color: rgba(255,255,255,0.3); color: #fff; }
.prodware-preset--style-3 .prodware-map__office { background: rgba(255,255,255,0.12); border-color: rgba(255,255,255,0.22); box-shadow: none; }
.prodware-preset--style-3 .prodware-map__office-city { color: #fff; }
.prodware-preset--style-3 .prodware-map__office-country { color: rgba(255,255,255,0.85); }

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
	.prodware-map { padding: var(--section) var(--gutter); }
	.prodware-map__offices,
	.prodware-map__offices--cols-3,
	.prodware-map__offices--cols-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
	.prodware-map__offices,
	.prodware-map__offices--cols-2,
	.prodware-map__offices--cols-3,
	.prodware-map__offices--cols-4 { grid-template-columns: 1fr; }
	.prodware-map__controls { flex-direction: column; align-items: stretch; }
	.prodware-map__select-wrap { max-width: 100%; min-width: 0; }
	.prodware-map__country-flag { font-size: 24px; }
	.prodware-map__country-name { font-size: 17px; }
	.prodware-map__pin { width: 16px; height: 16px; }
}

/* ==========================================================================
   INTERACTIVE MAP — prompt panel (default "pick a country" state)
   ========================================================================== */
.prodware-map__prompt {
	max-width: var(--container);
	margin: var(--space-lg) auto 0;
	padding: 48px 32px;
	background: #fff;
	border: 1.5px dashed rgba(69,107,255,0.25);
	border-radius: 16px;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
}
.prodware-map__prompt.is-hidden { display: none !important; }

.prodware-map__prompt-icon {
	width: 56px;
	height: 56px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: rgba(69,107,255,0.08);
	color: var(--clr-blue);
	margin-bottom: 4px;
}
.prodware-map__prompt-icon svg { width: 28px; height: 28px; }

.prodware-map__prompt-title {
	font-family: 'Poppins', sans-serif;
	font-weight: 600;
	font-size: 18px;
	line-height: 26px;
	color: var(--clr-text);
}

.prodware-map__prompt-sub {
	font-size: 14px;
	line-height: 22px;
	color: var(--clr-muted);
	max-width: 460px;
}

/* Preset overrides for prompt */
.prodware-preset--style-2 .prodware-map__prompt {
	background: var(--clr-navyL);
	border-color: rgba(69,205,255,0.3);
}
.prodware-preset--style-2 .prodware-map__prompt-title { color: #fff; }
.prodware-preset--style-2 .prodware-map__prompt-sub   { color: rgba(255,255,255,0.65); }
.prodware-preset--style-2 .prodware-map__prompt-icon  { background: rgba(69,205,255,0.12); color: var(--clr-cyan); }

.prodware-preset--style-1 .prodware-map__prompt,
.prodware-preset--style-3 .prodware-map__prompt {
	background: rgba(255,255,255,0.12);
	border-color: rgba(255,255,255,0.3);
}
.prodware-preset--style-1 .prodware-map__prompt-title,
.prodware-preset--style-3 .prodware-map__prompt-title { color: #fff; }
.prodware-preset--style-1 .prodware-map__prompt-sub,
.prodware-preset--style-3 .prodware-map__prompt-sub { color: rgba(255,255,255,0.85); }
.prodware-preset--style-1 .prodware-map__prompt-icon,
.prodware-preset--style-3 .prodware-map__prompt-icon {
	background: rgba(255,255,255,0.15);
	color: #fff;
}

@media (max-width: 767px) {
	.prodware-map__prompt { padding: 32px 20px; }
	.prodware-map__prompt-title { font-size: 16px; line-height: 22px; }
	.prodware-map__prompt-sub { font-size: 13px; line-height: 20px; }
}

/* ==========================================================================
   WHITE PRESET — inherit all "default" light-bg treatments
   This block aliases .prodware-preset--white to behave identically to
   .prodware-preset--default for every per-widget styling rule, with the
   only difference being the page background (which is set up top).
   ========================================================================== */
.prodware-preset--white .prodware-cwi__card,
.prodware-preset--white .prodware-cap__item,
.prodware-preset--white .prodware-cwi__icon-box,
.prodware-preset--white .prodware-faq__item,
.prodware-preset--white .prodware-ch__card,
.prodware-preset--white .prodware-cs__card,
.prodware-preset--white .prodware-map__office,
.prodware-preset--white .prodware-map__card {
	background: #FFFFFF;
	border-color: var(--clr-border);
}
.prodware-preset--white .prodware-cwi__card-title,
.prodware-preset--white .prodware-cap__item-title,
.prodware-preset--white .prodware-cs__title,
.prodware-preset--white .prodware-cs__card-title,
.prodware-preset--white .prodware-faq__question,
.prodware-preset--white .prodware-map__office-city {
	color: var(--clr-text) !important;
}
.prodware-preset--white .prodware-cwi__card-desc,
.prodware-preset--white .prodware-cap__item-desc,
.prodware-preset--white .prodware-cs__desc,
.prodware-preset--white .prodware-cs__bullets li,
.prodware-preset--white .prodware-faq__answer-inner,
.prodware-preset--white .prodware-faq__answer-inner p {
	color: var(--clr-body);
}
.prodware-preset--white .prodware-map__office-country {
	color: var(--clr-muted);
}

/* ==========================================================================
   WIDGET 19 — IMAGE + TEXT COLUMNS (.prodware-itc)
   ========================================================================== */
.prodware-itc { padding: var(--space-xl); }
.prodware-itc__rows { max-width: var(--container); margin: 0 auto; display: flex; flex-direction: column; gap: var(--space-lg); }
.prodware-itc__row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--space-md);
	align-items: stretch;
}
.prodware-itc__row--img-right { direction: rtl; }
.prodware-itc__row--img-right > * { direction: ltr; }
.prodware-itc__image {
	border: 1px solid var(--clr-border);
	border-radius: 16px;
	background-size: cover;
	background-position: center;
	min-height: 320px;
}
.prodware-itc__card {
	background: #fff;
	border: 1px solid var(--clr-border);
	border-radius: 16px;
	padding: 24px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.prodware-itc__title { margin: 0 0 12px; font-family: 'Poppins', sans-serif; font-weight: 600; font-size: 17px; line-height: 26px; color: var(--clr-text); }
.prodware-itc__text  { margin: 0 0 24px; font-size: 13.5px; line-height: 23px; color: var(--clr-body); }
.prodware-itc__actions { margin-top: auto; }

@media (max-width: 1024px) {
	.prodware-itc { padding: var(--section) var(--gutter); }
	.prodware-itc__row { grid-template-columns: 1fr; direction: ltr; }
	.prodware-itc__image { min-height: 240px; }
}

/* ==========================================================================
   WIDGET 20 — FULL-WIDTH BANNER (.prodware-banner)
   ========================================================================== */
.prodware-banner {
	position: relative;
	padding: 36px 80px;
	font-family: 'Poppins', sans-serif;
	overflow: hidden;
}
/* Default gradient only applies when no custom bg mode is set */
.prodware-banner--bg-preset { background: linear-gradient(90deg, #d670fd, #294099); }
.prodware-banner__overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
}
.prodware-banner__inner {
	position: relative;
	z-index: 2;
	max-width: var(--container);
	margin: 0 auto;
	display: flex;
	align-items: center;
	gap: var(--space-md);
}
.prodware-banner--split .prodware-banner__inner { justify-content: space-between; }
.prodware-banner--center .prodware-banner__inner { flex-direction: column; text-align: center; }
.prodware-banner__title { margin: 0 0 8px; font-size: 28px; line-height: 38px; font-weight: 600; color: #fff; }
.prodware-banner__sub   { margin: 0; font-size: 14px; line-height: 25px; color: rgba(255,255,255,0.78); max-width: 680px; }
.prodware-banner__actions { display: flex; gap: 12px; flex-shrink: 0; flex-wrap: wrap; }

@media (max-width: 1024px) {
	.prodware-banner { padding: 28px 32px; }
	.prodware-banner__inner { flex-direction: column; align-items: flex-start; }
	.prodware-banner--center .prodware-banner__inner { align-items: center; }
	.prodware-banner__title { font-size: 22px; line-height: 30px; }
}
@media (max-width: 767px) {
	.prodware-banner { padding: 24px 20px; }
	.prodware-banner__title { font-size: 19px; line-height: 26px; }
	.prodware-banner__actions .prodware-btn { width: 100%; }
}

/* ==========================================================================
   WIDGET 21 — BANNER IMAGE (.prodware-whitep)
   (Renamed in v2.4.8 from "White P". Old class kept for backwards compat.)
   ========================================================================== */
.prodware-whitep {
	padding: var(--space-xl);
	background-color: #fff;
	position: relative;
}
/* Section background-image variant */
.prodware-whitep.has-bg-image {
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}
.prodware-whitep.has-overlay::before {
	content: '';
	position: absolute;
	inset: 0;
	background: rgba(19,30,66,0.5);
	z-index: 0;
	pointer-events: none;
}
.prodware-whitep__inner {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--space-xl);
	max-width: var(--container);
	margin: 0 auto;
	align-items: center;
}
.prodware-whitep--img-left .prodware-whitep__inner { grid-template-areas: "media text"; }
.prodware-whitep--img-left .prodware-whitep__media  { grid-area: media; }
.prodware-whitep--img-left .prodware-whitep__text  { grid-area: text; }

.prodware-whitep__title {
	margin: 0 0 24px;
	font-family: 'Poppins', sans-serif;
	font-weight: 600;
	font-size: 32px;
	line-height: 42px;
	color: var(--clr-text);
}
.prodware-whitep__body { color: var(--clr-body); font-size: 14px; line-height: 25px; }
.prodware-whitep__body p { margin: 0 0 14px; }
.prodware-whitep__body p:last-child { margin-bottom: 0; }
.prodware-whitep__actions { margin-top: 24px; }

/* Image container — now uses height + object-fit on the img inside.
   width:100% + height set via control means the image fills the box. */
.prodware-whitep__media {
	width: 100%;
	height: 480px;
	border-radius: 16px;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}
.prodware-whitep__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	display: block;
	border-radius: inherit;
}

/* When has-overlay is enabled, text reads on a darker background — light color */
.prodware-whitep.has-bg-image.has-overlay .prodware-whitep__title,
.prodware-whitep.has-bg-image.has-overlay .prodware-whitep__body { color: #fff; }

@media (max-width: 1024px) {
	.prodware-whitep { padding: var(--section) var(--gutter); }
	.prodware-whitep__inner,
	.prodware-whitep--img-left .prodware-whitep__inner { grid-template-columns: 1fr; grid-template-areas: "text" "media"; gap: var(--space-lg); }
	.prodware-whitep__title { font-size: 24px; line-height: 32px; }
	.prodware-whitep__media { height: 360px; }
}
@media (max-width: 767px) {
	.prodware-whitep__media { height: 280px; }
}

/* ==========================================================================
   WIDGET 22 — FEATURE BANNER (.prodware-fb)
   ========================================================================== */
.prodware-fb { padding: 40px; background: var(--clr-bgGray); }
.prodware-fb__inner {
	--fb-gap: 28px;
	--fb-pad: 28px;
	background: var(--clr-navy);
	border-radius: 24px;
	max-width: 100%;
	display: grid;
	grid-template-columns: 2fr 1fr;
	gap: var(--fb-gap);
	padding: var(--fb-pad);          /* uniform inset → image is evenly inset on all sides */
	min-height: 400px;
	align-items: stretch;
	overflow: hidden;
	font-family: 'Poppins', sans-serif;
}
/* Content/Image column ratios (set via fb_columns_ratio control) */
.prodware-fb--ratio-2-1 .prodware-fb__inner { grid-template-columns: 2fr 1fr; }
.prodware-fb--ratio-1-1 .prodware-fb__inner { grid-template-columns: 1fr 1fr; }
.prodware-fb--ratio-3-2 .prodware-fb__inner { grid-template-columns: 3fr 2fr; }
.prodware-fb--ratio-1-2 .prodware-fb__inner { grid-template-columns: 1fr 2fr; }
.prodware-fb__content { padding: 32px 40px; display: flex; flex-direction: column; justify-content: center; color: #fff; }
.prodware-fb__title { margin: 0 0 18px; font-weight: 700; font-size: 36px; line-height: 48px; color: #fff; }
.prodware-fb__title.is-gradient {
	background: linear-gradient(180deg, #ff71fc, #456bff);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
}
.prodware-fb__text { margin: 0 0 24px; font-size: 14px; line-height: 25px; color: #fff; max-width: 620px; }
.prodware-fb__bullets { list-style: none; margin: 0 0 32px; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.prodware-fb__bullets li {
	position: relative;
	padding-left: 20px;
	font-size: 13.5px;
	line-height: 22px;
	color: #fff;
}
.prodware-fb__bullets li::before {
	content: "";
	position: absolute;
	left: 0; top: 8px;
	width: 8px; height: 8px;
	border-radius: 50%;
	background: var(--clr-blue);
}
.prodware-fb__actions { display: flex; gap: 12px; flex-wrap: wrap; }

/* Image: real <img>, fully rounded on every corner, crisp via srcset */
.prodware-fb__media {
	position: relative;
	border-radius: 16px;
	overflow: hidden;
	min-height: 100%;
	align-self: stretch;
}
.prodware-fb__media-img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

@media (max-width: 1024px) {
	.prodware-fb { padding: var(--section) var(--gutter); }
	.prodware-fb__inner,
	.prodware-fb--ratio-2-1 .prodware-fb__inner,
	.prodware-fb--ratio-1-1 .prodware-fb__inner,
	.prodware-fb--ratio-3-2 .prodware-fb__inner,
	.prodware-fb--ratio-1-2 .prodware-fb__inner { grid-template-columns: 1fr; min-height: 0; }
	.prodware-fb__content { padding: 24px 28px; }
	.prodware-fb__title { font-size: 28px; line-height: 38px; }
	.prodware-fb__media { min-height: 220px; }
	.prodware-fb__media-img { min-height: 220px; }
}
@media (max-width: 767px) {
	.prodware-fb__content { padding: 16px 18px; }
	.prodware-fb__title { font-size: 22px; line-height: 30px; }
	.prodware-fb__actions .prodware-btn { width: 100%; }
}

/* ==========================================================================
   WIDGET 23 — CARD PROFILE EXPANDABLE (.prodware-cpe)
   ========================================================================== */
.prodware-cpe { padding: var(--space-xl); }
.prodware-cpe__list { max-width: var(--container); margin: 0 auto; display: flex; flex-direction: column; gap: var(--space-md); }
.prodware-cpe__card {
	background: #fff;
	border: 1px solid rgba(226,232,240,0.7);
	border-radius: 20px;
	padding: 24px;
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 28px;
	align-items: center;
	box-shadow: 0 8px 20px rgba(19,30,66,0.10);
	transition: box-shadow .2s ease;
}
.prodware-cpe__card:hover { box-shadow: 0 12px 28px rgba(19,30,66,0.14); }

/* Per-profile photo side. Default markup is avatar then body.
   --img-left keeps that order; --img-right flips the columns so the photo
   sits on the right while keeping the same DOM order (good for a11y). */
.prodware-cpe__card--img-left  { grid-template-columns: auto 1fr; }
.prodware-cpe__card--img-left  .prodware-cpe__avatar-wrap { grid-column: 1; }
.prodware-cpe__card--img-left  .prodware-cpe__body        { grid-column: 2; text-align: left; }

.prodware-cpe__card--img-right { grid-template-columns: 1fr auto; }
.prodware-cpe__card--img-right .prodware-cpe__avatar-wrap { grid-column: 2; }
.prodware-cpe__card--img-right .prodware-cpe__body        { grid-column: 1; grid-row: 1; text-align: left; }
.prodware-cpe__avatar-wrap {
	position: relative;
	width: 140px;
	height: 140px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto;
}
.prodware-cpe__avatar {
	width: 130px; height: 130px;
	border-radius: 50%;
	object-fit: cover;
	border: 4px solid rgba(69,107,255,0.18);
}
.prodware-cpe__avatar--initials {
	background: linear-gradient(135deg, var(--clr-blue), var(--clr-purple));
	color: #fff;
	font-family: 'Poppins', sans-serif;
	font-weight: 700;
	font-size: 32px;
	display: flex; align-items: center; justify-content: center;
}
.prodware-cpe__name { margin: 0 0 4px; font-family: 'Poppins', sans-serif; font-weight: 600; font-size: 22px; line-height: 28px; color: var(--clr-text); }
.prodware-cpe__role { font-weight: 500; font-size: 14px; line-height: 22px; color: var(--clr-blue); margin-bottom: 12px; }
.prodware-cpe__divider { display: block; width: 56px; height: 3px; border-radius: 2px; background: var(--clr-cyan); margin-bottom: 14px; }
.prodware-cpe__quote { margin: 0 0 18px; font-size: 14px; line-height: 22px; color: var(--clr-body); font-style: italic; }
.prodware-cpe__actions { display: flex; gap: 12px; flex-wrap: wrap; }
.prodware-cpe__linkedin {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 16px;
	background: rgba(69,107,255,0.08);
	border: 1px solid rgba(69,107,255,0.25);
	border-radius: 50px;
	color: var(--clr-blue);
	font-size: 12px;
	font-weight: 500;
	text-decoration: none;
	line-height: 1;
}
.prodware-cpe__linkedin:hover { background: rgba(69,107,255,0.14); }
.prodware-cpe__linkedin-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 18px; height: 18px;
	background: var(--clr-blue);
	color: #fff;
	border-radius: 4px;
	font-size: 9px;
	font-weight: 700;
}
.prodware-cpe__more {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 18px;
	background: var(--clr-blue);
	border: none;
	border-radius: 50px;
	color: #fff;
	font-family: 'Poppins', sans-serif;
	font-weight: 600;
	font-size: 12px;
	line-height: 1;
	cursor: pointer;
	transition: background .2s ease;
}
.prodware-cpe__more:hover { background: var(--clr-navyL); }

/* Cap any image dropped into the expandable bio so it can't blow up the layout */
.prodware-cpe__bio img {
	max-width: 100%;
	max-height: 320px;
	height: auto;
	width: auto;
	border-radius: 12px;
	object-fit: cover;
}
@media (max-width: 767px) {
	.prodware-cpe__bio img { max-height: 220px; }
}

.prodware-cpe__bio--below {
	grid-column: 1 / -1;
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows .35s cubic-bezier(.22,.61,.36,1);
}
.prodware-cpe__card.is-open .prodware-cpe__bio--below { grid-template-rows: 1fr; }
.prodware-cpe__card.is-open .prodware-cpe__more::after { content: " ✕"; opacity: 0.7; }
.prodware-cpe__bio-inner {
	overflow: hidden;
	padding-top: 0;
	color: var(--clr-body);
	font-size: 14px;
	line-height: 24px;
}
.prodware-cpe__card.is-open .prodware-cpe__bio-inner { padding-top: 20px; border-top: 1px solid var(--clr-border); margin-top: 20px; }
.prodware-cpe__bio--inside { display: none; }
.prodware-cpe__card.is-open .prodware-cpe__bio--inside { display: block; margin-bottom: 14px; padding: 14px; background: var(--clr-bgLgt); border-radius: 8px; }

/* Tablet and below — stack image above text so the bio gets full width.
   This avoids the cramped narrow-column look the image-left layout
   creates on phones/tablets. */
@media (max-width: 900px) {
	.prodware-cpe__card,
	.prodware-cpe__card--img-left,
	.prodware-cpe__card--img-right {
		grid-template-columns: 1fr;
		padding: 24px;
		gap: 18px;
		text-align: center;
	}
	/* Drop the left/right column placement so both photo and text stack. */
	.prodware-cpe__card--img-left  .prodware-cpe__avatar-wrap,
	.prodware-cpe__card--img-right .prodware-cpe__avatar-wrap,
	.prodware-cpe__card--img-left  .prodware-cpe__body,
	.prodware-cpe__card--img-right .prodware-cpe__body {
		grid-column: auto;
		grid-row: auto;
		text-align: center;
	}
	.prodware-cpe__avatar-wrap {
		margin: 0 auto;
	}
	.prodware-cpe__divider {
		margin-left: auto;
		margin-right: auto;
	}
	.prodware-cpe__actions {
		justify-content: center;
	}
}
@media (max-width: 767px) {
	.prodware-cpe { padding: 32px 16px; }
	.prodware-cpe__card { padding: 20px; gap: 14px; }
	.prodware-cpe__avatar-wrap { width: 110px; height: 110px; }
	.prodware-cpe__avatar { width: 100px; height: 100px; }
	.prodware-cpe__name { font-size: 18px; line-height: 24px; }
	.prodware-cpe__quote { font-size: 14px; line-height: 22px; margin-bottom: 14px; }
	.prodware-cpe__actions {
		flex-direction: column;
		align-items: stretch;
		gap: 10px;
	}
	.prodware-cpe__linkedin,
	.prodware-cpe__more {
		justify-content: center;
		width: 100%;
	}
}

/* ==========================================================================
   WIDGET 24 — AGENDA (.prodware-ag)
   ========================================================================== */
.prodware-ag { padding: var(--space-xl); }
.prodware-ag__table { max-width: var(--container); margin: 0 auto; }
.prodware-ag__head, .prodware-ag__row {
	display: grid;
	grid-template-columns: 200px 1fr 360px;
	gap: 16px;
	align-items: center;
}
.prodware-ag__head {
	padding: 0 16px 12px;
	font-family: 'Poppins', sans-serif;
	font-weight: 700;
	font-size: 10px;
	letter-spacing: 1.2px;
	color: var(--clr-muted);
	text-transform: uppercase;
}
.prodware-ag__row {
	padding: 16px;
	margin-bottom: 8px;
	background: #fff;
	border: 1px solid rgba(226,232,240,0.6);
	border-radius: 12px;
	transition: box-shadow .2s ease;
}
.prodware-ag__row:hover { box-shadow: 0 4px 12px rgba(19,30,66,0.06); }
.prodware-ag__row:nth-child(odd) { background: var(--clr-bgGray); }
.prodware-ag__pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 7px 16px;
	border-radius: 50px;
	font-family: 'Poppins', sans-serif;
	font-weight: 700;
	font-size: 11px;
	min-width: 130px;
}
.prodware-ag__pill--solid   { background: var(--clr-blue); color: #fff; }
.prodware-ag__pill--outline { background: rgba(69,107,255,0.08); border: 1px solid rgba(69,107,255,0.25); color: var(--clr-blue); }
.prodware-ag__pill--muted   { background: var(--clr-bgLgt); color: var(--clr-muted); }
.prodware-ag__cell--session { font-family: 'Poppins', sans-serif; font-weight: 600; font-size: 14px; line-height: 20px; color: var(--clr-text); }
.prodware-ag__speaker { font-family: 'Poppins', sans-serif; font-weight: 600; font-size: 13px; line-height: 18px; color: var(--clr-text); }
.prodware-ag__role    { font-size: 11.5px; line-height: 17px; color: var(--clr-muted); margin-top: 2px; }

@media (max-width: 1024px) {
	.prodware-ag { padding: var(--section) var(--gutter); }
	.prodware-ag__head { display: none; }
	.prodware-ag__row {
		grid-template-columns: 1fr;
		gap: 8px;
		padding: 14px 16px;
	}
	.prodware-ag__cell--session { font-weight: 600; font-size: 14px; }
}
/* ==========================================================================
   WIDGET 26 — SOLUTIONS TABS (.prodware-stabs)
   ========================================================================== */
.prodware-stabs { padding: var(--space-xl); background: #fff; }
.prodware-stabs__tabbar {
	display: flex;
	gap: 8px;
	justify-content: center;
	flex-wrap: wrap;
	margin: 0 auto var(--space-md);
	max-width: var(--container);
	padding: 6px;
	background: #fff;
	border: 1px solid var(--clr-border);
	border-radius: 50px;
	width: fit-content;
}
.prodware-stabs__tab {
	padding: 10px 20px;
	background: transparent;
	border: none;
	border-radius: 50px;
	cursor: pointer;
	font-family: 'Poppins', sans-serif;
	font-weight: 500;
	font-size: 12.5px;
	color: var(--clr-body);
	transition: background .2s ease, color .2s ease;
	white-space: nowrap;
}
.prodware-stabs__tab:hover { color: var(--clr-blue); }
.prodware-stabs__tab.is-active { background: var(--clr-blue); color: #fff; }

.prodware-stabs__panel { display: none; max-width: var(--container); margin: 0 auto; }
.prodware-stabs__panel.is-active { display: block; }
.prodware-stabs__intro { padding: 16px 0 24px; }
.prodware-stabs__eyebrow {
	font-family: 'Poppins', sans-serif;
	font-weight: 600;
	font-size: 11px;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	background: linear-gradient(90deg, var(--clr-blue), var(--clr-cyan));
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	margin-bottom: 8px;
}
.prodware-stabs__section-title { margin: 0 0 12px; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 32px; line-height: 40px; color: var(--clr-text); }
.prodware-stabs__section-text  { margin: 0; max-width: 480px; font-size: 14px; line-height: 25px; color: var(--clr-body); }

.prodware-stabs__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	margin-top: 24px;
}
.prodware-stabs__card {
	background: #fff;
	border: 1px solid var(--clr-border);
	border-radius: 16px;
	padding: 32px;
	transition: transform .2s ease, box-shadow .2s ease;
}
.prodware-stabs__card:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(19,30,66,0.08); }
.prodware-stabs__card.is-featured {
	background: linear-gradient(135deg, #d670fd, #a855f7);
	border-color: transparent;
	color: #fff;
	box-shadow: 0 12px 28px rgba(168,85,247,0.3);
}
.prodware-stabs__card-icon {
	width: 40px; height: 40px;
	border-radius: 50%;
	background: rgba(69,107,255,0.08);
	display: flex; align-items: center; justify-content: center;
	color: var(--clr-blue);
	margin-bottom: 60px;
}
.prodware-stabs__card.is-featured .prodware-stabs__card-icon { background: rgba(255,255,255,0.2); color: #fff; }
.prodware-stabs__card-title { margin: 0 0 12px; font-family: 'Poppins', sans-serif; font-weight: 600; font-size: 18px; line-height: 24px; color: inherit; }
.prodware-stabs__card.is-featured .prodware-stabs__card-title { color: #fff; }
.prodware-stabs__card-text  { margin: 0; font-size: 13.5px; line-height: 22px; color: var(--clr-body); }
.prodware-stabs__card.is-featured .prodware-stabs__card-text { color: rgba(255,255,255,0.9); }

@media (max-width: 1024px) {
	.prodware-stabs { padding: var(--section) var(--gutter); }
	.prodware-stabs__grid { grid-template-columns: repeat(2, 1fr); }
	.prodware-stabs__section-title { font-size: 26px; line-height: 34px; }
	.prodware-stabs__tabbar {
		max-width: 100%;
		overflow-x: auto;
		flex-wrap: nowrap;
		justify-content: flex-start;
		scrollbar-width: none;
	}
	.prodware-stabs__tabbar::-webkit-scrollbar { display: none; }
}
@media (max-width: 767px) {
	.prodware-stabs__grid { grid-template-columns: 1fr; }
	.prodware-stabs__card { padding: 24px; }
	.prodware-stabs__card-icon { margin-bottom: 30px; }
}

/* ==========================================================================
   WIDGET 27 — SLIDER BANNER HOME (.prodware-sbh)
   ========================================================================== */
.prodware-sbh { padding: var(--space-xl); }
.prodware-sbh__viewport {
	max-width: var(--container);
	margin: 0 auto;
	overflow: hidden;
	border-radius: 24px;
}
.prodware-sbh__track {
	display: flex;
	transition: transform .5s cubic-bezier(.22,.61,.36,1);
}
.prodware-sbh__slide { flex: 0 0 100%; min-width: 0; }
.prodware-sbh__card {
	background: #fff;
	border-radius: 24px;
	display: grid;
	grid-template-columns: 1.4fr 1fr;
	min-height: 400px;
	overflow: hidden;
}
.prodware-sbh__content { padding: 60px 60px 40px; display: flex; flex-direction: column; justify-content: center; }
.prodware-sbh__title { margin: 0 0 20px; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 32px; line-height: 42px; color: var(--clr-text); max-width: 580px; }
.prodware-sbh__text  { margin: 0 0 28px; font-size: 14px; line-height: 25px; color: var(--clr-body); max-width: 580px; }
.prodware-sbh__actions { display: flex; align-items: center; gap: 24px; }
.prodware-sbh__nav { display: flex; gap: 8px; margin-left: auto; }
.prodware-sbh__arrow {
	width: 36px; height: 36px;
	border-radius: 50%;
	border: none;
	background: transparent;
	color: var(--clr-blue);
	cursor: pointer;
	display: flex; align-items: center; justify-content: center;
	transition: background .2s ease;
}
.prodware-sbh__arrow:hover { background: rgba(69,107,255,0.08); }
.prodware-sbh__image {
	background-size: cover;
	background-position: center;
	background-color: var(--clr-bgLgt);
}
.prodware-sbh__image--placeholder {
	background-image: linear-gradient(135deg, rgba(69,205,255,0.3), rgba(255,113,252,0.4), rgba(69,107,255,0.3));
}
.prodware-sbh__dots {
	display: flex;
	justify-content: center;
	gap: 6px;
	margin-top: 24px;
}
.prodware-sbh__dot {
	width: 8px; height: 8px;
	border-radius: 4px;
	background: var(--clr-border);
	border: none;
	cursor: pointer;
	transition: width .3s, background .25s;
	padding: 0;
}
.prodware-sbh__dot.is-active { width: 22px; background: var(--clr-blue); }

@media (max-width: 1024px) {
	.prodware-sbh { padding: var(--section) var(--gutter); }
	.prodware-sbh__card { grid-template-columns: 1fr; min-height: 0; }
	.prodware-sbh__content { padding: 40px 32px; }
	.prodware-sbh__image { min-height: 200px; }
	.prodware-sbh__title { font-size: 24px; line-height: 32px; }
}
@media (max-width: 767px) {
	.prodware-sbh__content { padding: 28px 20px; }
	.prodware-sbh__title { font-size: 20px; line-height: 28px; }
	.prodware-sbh__actions { flex-wrap: wrap; }
}

/* ==========================================================================
   WIDGET 28 — TESTIMONIALS (.prodware-tm)
   ========================================================================== */
.prodware-tm { padding: var(--space-xl); }
.prodware-tm__eyebrow {
	max-width: var(--container);
	margin: 0 auto;
	font-family: 'Poppins', sans-serif;
	font-weight: 600;
	font-size: 13px;
	color: var(--clr-blue);
	text-align: center;
	margin-bottom: 8px;
}
.prodware-tm__grid {
	max-width: var(--container);
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	margin-top: 32px;
}
.prodware-tm__card {
	background: #fff;
	border: 1px solid var(--clr-border);
	border-radius: 12px;
	padding: 20px;
	box-shadow: 0 4px 12px rgba(19,30,66,0.05);
}
.prodware-tm__head {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 14px;
	position: relative;
}
.prodware-tm__avatar {
	width: 36px; height: 36px;
	border-radius: 50%;
	object-fit: cover;
	flex-shrink: 0;
}
.prodware-tm__avatar--placeholder { background: linear-gradient(135deg, var(--clr-blue), var(--clr-purple)); }
.prodware-tm__meta { flex: 1; min-width: 0; }
.prodware-tm__name { font-family: 'Poppins', sans-serif; font-weight: 600; font-size: 13px; line-height: 18px; color: var(--clr-text); }
.prodware-tm__role { font-size: 10.5px; line-height: 14px; color: var(--clr-muted); margin-top: 2px; }
.prodware-tm__quote-mark { color: rgba(69,107,255,0.25); flex-shrink: 0; }
.prodware-tm__text { margin: 0; font-size: 12px; line-height: 19px; color: var(--clr-body); }

@media (max-width: 1024px) {
	.prodware-tm { padding: var(--section) var(--gutter); }
	.prodware-tm__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 767px) {
	/* On mobile, switch the grid into a horizontal swipe-able strip.
	   Cards stay readable (~78% viewport wide) and scroll snap so each card centers cleanly. */
	.prodware-tm__grid {
		display: flex !important;
		grid-template-columns: none !important;
		flex-wrap: nowrap;
		gap: 16px;
		overflow-x: auto;
		overflow-y: visible;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none; /* hide scrollbar in Firefox */
		padding: 4px 16px 20px; /* room for shadow, padding instead of margin so first card aligns to edge */
		margin-left: calc(var(--gutter) * -1);
		margin-right: calc(var(--gutter) * -1);
		scroll-padding-left: 16px;
	}
	.prodware-tm__grid::-webkit-scrollbar { display: none; } /* hide scrollbar in Chrome/Safari */
	.prodware-tm__card {
		flex: 0 0 78%;
		scroll-snap-align: start;
		min-width: 0;
	}
}
/* ==========================================================================
   CHALLENGES — custom variant (per-card colors via inline CSS vars)
   ========================================================================== */
.prodware-ch__card--custom .prodware-ch__card-title { color: var(--prodware-ch-title, var(--clr-text)) !important; }
.prodware-ch__card--custom .prodware-ch__card-lead,
.prodware-ch__card--custom .prodware-ch__bullets li { color: var(--prodware-ch-text, var(--clr-text)) !important; }
.prodware-ch__card--custom .prodware-ch__bullets li::before { background: var(--prodware-ch-text, var(--clr-text)); opacity: 0.6; }


/* ==========================================================================
   WIDGET 25 — TIMELINE (.prodware-tl) — Figma 768:906
   Two-row layout that sizes to content. No fixed track height.
   ========================================================================== */
.prodware-tl {
	padding: var(--space-xl);
	background-color: var(--clr-bgGray);
	font-family: 'Poppins', sans-serif;
}
.prodware-tl__title {
	max-width: var(--container);
	margin: 0 auto 56px;
	font-family: 'Poppins', sans-serif;
	font-weight: 600;
	font-size: 32px;
	line-height: 42px;
	color: var(--clr-text);
	text-align: center;
}

/* Track is a two-row grid: top half / bottom half.
   Each row auto-sizes to its tallest card.
   The horizontal line draws across the boundary. */
.prodware-tl__track {
	position: relative;
	max-width: var(--container);
	margin: 0 auto;
	padding: 0 24px;
	display: grid;
	/* One column per step (set via inline --tl-cols), so each step occupies
	   its own column and the steps zigzag instead of stacking. */
	grid-template-columns: repeat(var(--tl-cols, 5), minmax(0, 1fr));
	grid-template-rows: 1fr auto 1fr;
	row-gap: 72px;
	column-gap: 48px;
	align-items: stretch;
	min-height: 560px;
}

/* Horizontal gradient line — sits in row 2 of the grid */
.prodware-tl__line {
	grid-row: 2;
	grid-column: 1 / -1;
	height: 2px;
	background: linear-gradient(90deg, var(--clr-pink) 0%, var(--clr-purple) 50%, var(--clr-blue) 100%);
	border-radius: 2px;
	margin: 0 84px 0 0; /* room for the Prodware "P" logo at the line's right end */
	z-index: 1;
}

/* Each step is a single column.
   Top steps occupy grid-row 1 (above line).
   Bottom steps occupy grid-row 3 (below line). */
.prodware-tl__step {
	position: relative;
	display: flex;
	flex-direction: column;
	width: 100%;
}
/* Desktop: each step sits in its own column (1-based, via inline --tl-col),
   so step 1 = column 1 (top), step 2 = column 2 (bottom), step 3 = column 3
   (top)… producing the alternating zigzag with clear gaps between steps. */
@media (min-width: 1025px) {
	.prodware-tl__step { grid-column: var(--tl-col, auto); }
}
.prodware-tl__step--top {
	grid-row: 1;
	justify-content: flex-end;        /* card pushed to bottom of upper half */
	padding-bottom: 16px;             /* breathing room above the line */
}
.prodware-tl__step--bottom {
	grid-row: 3;
	justify-content: flex-start;      /* card pushed to top of lower half */
	padding-top: 16px;                /* breathing room below the line */
}

/* Card — matches Figma: white-ish with subtle border, plenty of padding, soft shadow */
.prodware-tl__card {
	position: relative;
	width: 100%;
	max-width: 100%;
	margin: 0 auto;
	padding: 28px 24px 24px 24px;
	background: #FFFFFF;
	border: 1px solid rgba(69, 107, 255, 0.18);
	border-radius: 18px;
	box-shadow: 0 10px 28px rgba(19, 30, 66, 0.06);
	min-height: 160px;
}

/* Chip — top-left of card */
.prodware-tl__chip {
	position: absolute;
	left: -8px;
	top: -20px;
	width: 40px;
	height: 40px;
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: 'Poppins', sans-serif;
	font-weight: 600;
	font-size: 17px;
	color: #fff;
	box-shadow: 0 4px 10px rgba(19, 30, 66, 0.15);
	z-index: 4;
}
.prodware-tl__chip--pink   { background: linear-gradient(135deg, #FF71FC 0%, #C84CFF 100%); }
.prodware-tl__chip--purple { background: #866DFE; }
.prodware-tl__chip--blue   { background: linear-gradient(135deg, #5A7DFF 0%, #456BFF 100%); }
.prodware-tl__chip--cyan   { background: linear-gradient(135deg, #45CDFF 0%, #2EA8E0 100%); }

/* Triangle markers — anchored to the LINE row.
   Top step triangle: rendered at the bottom edge of step (just below card, pointing toward line).
   Bottom step triangle: rendered at the top edge of step (just above card, pointing toward line). */
.prodware-tl__triangle {
	position: absolute;
	left: 50%;
	width: 0; height: 0;
	z-index: 3;
	border-left: 10px solid transparent;
	border-right: 10px solid transparent;
}
.prodware-tl__triangle--pink   { color: #D670FD; }
.prodware-tl__triangle--purple { color: #866DFE; }
.prodware-tl__triangle--blue   { color: #5A7DFF; }
.prodware-tl__triangle--cyan   { color: #45CDFF; }
.prodware-tl__step--top .prodware-tl__triangle {
	bottom: 4px;                  /* sits just above the line */
	transform: translateX(-50%);
	border-top: 14px solid currentColor;
}
.prodware-tl__step--bottom .prodware-tl__triangle {
	top: 4px;                     /* sits just below the line */
	transform: translateX(-50%);
	border-bottom: 14px solid currentColor;
}

.prodware-tl__step-title {
	margin: 0 0 8px;
	font-family: 'Poppins', sans-serif;
	font-weight: 600;
	font-size: 19px;
	line-height: 26px;
	color: var(--clr-text);
}
.prodware-tl__step-text {
	margin: 0;
	font-family: 'Poppins', sans-serif;
	font-weight: 400;
	font-size: 14.5px;
	line-height: 25px;
	color: var(--clr-text);
}

/* Logo at line's right end — anchored to the line row */
.prodware-tl__logo {
	position: absolute;
	right: 24px;
	width: 48px;
	height: 48px;
	z-index: 3;
	/* The line is in row 2 (the auto row between rows 1 and 3).
	   Use top: 50% which centers vertically relative to the track,
	   then offset by half logo height. Track is symmetric so this works. */
	top: 50%;
	transform: translateY(-50%);
}
.prodware-tl__logo svg,
.prodware-tl__logo img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: contain;
}

/* Style preset overrides */
.prodware-preset--style-2 .prodware-tl { background-color: var(--clr-navy); }
.prodware-preset--style-2 .prodware-tl__title { color: #fff; }
.prodware-preset--style-2 .prodware-tl__card  { background: rgba(255,255,255,0.08); border-color: rgba(255,255,255,0.18); }
.prodware-preset--style-2 .prodware-tl__step-title { color: #fff; }
.prodware-preset--style-2 .prodware-tl__step-text  { color: rgba(255,255,255,0.85); }
.prodware-preset--white .prodware-tl { background-color: #fff; }

/* ===== Responsive ===== */
@media (max-width: 1024px) {
	.prodware-tl { padding: var(--section) var(--gutter); }
	.prodware-tl__title { font-size: 24px; line-height: 32px; margin-bottom: 32px; }
	.prodware-tl__track {
		grid-template-columns: 1fr;
		grid-template-rows: none;
		grid-auto-flow: row;
		gap: 24px;
		padding: 8px 0 8px 16px;
	}
	.prodware-tl__line {
		grid-row: auto;
		grid-column: auto;
		position: absolute;
		left: 8px;
		right: auto;
		top: 0;
		bottom: 0;
		width: 2px;
		height: auto;
		background: linear-gradient(180deg, var(--clr-pink) 0%, var(--clr-purple) 50%, var(--clr-blue) 100%);
		margin: 0;
	}
	.prodware-tl__step,
	.prodware-tl__step--top,
	.prodware-tl__step--bottom {
		grid-row: auto;
		grid-column: auto;
		display: block;
		justify-content: initial;
		padding-left: 24px;
	}
	.prodware-tl__triangle,
	.prodware-tl__step--top .prodware-tl__triangle,
	.prodware-tl__step--bottom .prodware-tl__triangle { display: none; }
	.prodware-tl__card,
	.prodware-tl__step--top .prodware-tl__card,
	.prodware-tl__step--bottom .prodware-tl__card {
		max-width: 100%;
		margin: 0;
	}
	.prodware-tl__chip,
	.prodware-tl__step--top .prodware-tl__chip,
	.prodware-tl__step--bottom .prodware-tl__chip {
		left: -16px;
		top: -16px;
		width: 36px;
		height: 36px;
		font-size: 15px;
	}
	.prodware-tl__logo {
		position: relative;
		right: auto;
		top: auto;
		transform: none;
		margin: 16px auto 0;
		left: -10px;
		width: 36px;
		height: 36px;
	}
}
@media (max-width: 480px) {
	.prodware-tl__step-title { font-size: 17px; line-height: 24px; }
	.prodware-tl__step-text  { font-size: 13.5px; line-height: 22px; }
}

/* ==========================================================================
   POST LOOP CAROUSEL  (.prodware-plc)
   ========================================================================== */
.prodware-plc__inner {
	max-width: var(--container);
	margin: 0 auto;
	padding: 0 var(--gutter);
}
.prodware-plc__carousel {
	position: relative;
	display: flex;
	align-items: center;
	gap: 12px;
}
.prodware-plc__viewport {
	flex: 1 1 auto;
	overflow: hidden;
}
.prodware-plc__track {
	display: flex;
	gap: 24px;
	transition: transform .4s ease;
	will-change: transform;
}
.prodware-plc__slide {
	flex: 0 0 calc((100% - (var(--prodware-plc-gap, 24px) * (var(--prodware-plc-per, 3) - 1))) / var(--prodware-plc-per, 3));
	min-width: 0;
}
.prodware-plc__card {
	display: flex;
	flex-direction: column;
	height: 100%;
	background: #fff;
	border-radius: 16px;
	overflow: hidden;
	text-decoration: none;
	color: inherit;
	transition: transform .25s ease, box-shadow .25s ease;
	border: 1px solid rgba(226, 232, 240, 0.6);
}
.prodware-plc__card:hover {
	transform: translateY(-3px);
}
.prodware-plc--shadow-none   .prodware-plc__card { box-shadow: none; }
.prodware-plc--shadow-subtle .prodware-plc__card { box-shadow: 0 4px 14px rgba(19, 30, 66, 0.06); }
.prodware-plc--shadow-strong .prodware-plc__card { box-shadow: 0 12px 32px rgba(19, 30, 66, 0.12); }
.prodware-plc--shadow-subtle .prodware-plc__card:hover { box-shadow: 0 8px 24px rgba(19, 30, 66, 0.10); }
.prodware-plc--shadow-strong .prodware-plc__card:hover { box-shadow: 0 18px 40px rgba(19, 30, 66, 0.16); }

.prodware-plc__card-img {
	width: 100%;
	height: 180px;
	background-size: cover;
	background-position: center;
	background-color: #EEF0F3;
	border-radius: 12px 12px 0 0;
}
.prodware-plc__card-body {
	padding: 20px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	flex: 1 1 auto;
}
.prodware-plc__tag {
	display: inline-block;
	align-self: flex-start;
	padding: 4px 12px;
	border-radius: 50px;
	background: #EEF0F3;
	color: var(--clr-text);
	font-size: 11px;
	font-weight: 500;
	line-height: 1.4;
	margin-bottom: 4px;
}
.prodware-plc--tag-gradient-text .prodware-plc__tag {
	background: linear-gradient(90deg, var(--clr-pink) 0%, var(--clr-purple) 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
	padding: 0;
	font-weight: 600;
	font-size: 13px;
}
.prodware-plc--tag-solid-blue .prodware-plc__tag {
	background: var(--clr-blue);
	color: #fff;
}
.prodware-plc .prodware-plc__title,
.prodware-plc__title {
	margin: 0;
	font-family: 'Poppins', sans-serif;
	font-weight: 600;
	font-size: 18px;
	line-height: 1.4;
	color: var(--clr-text);
}
.prodware-plc__excerpt {
	margin: 0;
	font-size: 13.5px;
	line-height: 1.55;
	color: var(--clr-body);
}
.prodware-plc__arrow {
	flex: 0 0 auto;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	border: 1px solid var(--clr-border);
	background: #fff;
	color: var(--clr-text);
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 2px 6px rgba(19,30,66,0.08);
	transition: background .2s, border-color .2s, color .2s, transform .2s, box-shadow .2s;
}
.prodware-plc__arrow:hover {
	background: var(--clr-blue);
	border-color: var(--clr-blue);
	color: #fff;
	transform: scale(1.05);
	box-shadow: 0 4px 12px rgba(69,107,255,0.28);
}
.prodware-plc__arrow:active { transform: scale(0.96); }
.prodware-plc__arrow.is-disabled {
	opacity: .45;
	pointer-events: none;
}
.prodware-plc__dots {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin-top: 24px;
}
.prodware-plc__dots button {
	width: 10px; height: 10px;
	border-radius: 50%;
	border: none;
	background: rgba(19, 30, 66, 0.2);
	cursor: pointer;
	padding: 0;
	transition: background .2s, width .2s;
}
.prodware-plc__dots button.is-active {
	background: var(--clr-blue);
	width: 28px;
	border-radius: 8px;
}
.prodware-plc__cta {
	display: flex;
	justify-content: center;
	margin-top: 32px;
}
.prodware-plc__empty {
	text-align: center;
	color: var(--clr-muted);
	padding: 40px 20px;
}

/* Preset-aware text colors (dark presets) */
.prodware-preset--style-1 .prodware-plc__excerpt,
.prodware-preset--style-2 .prodware-plc__excerpt,
.prodware-preset--style-3 .prodware-plc__excerpt {
	color: var(--clr-body);
}

/* Responsive — slides-per-view tablet/mobile */
@media (max-width: 1024px) {
	.prodware-plc__track { gap: 20px; }
	.prodware-plc__slide {
		flex-basis: calc((100% - (20px * (var(--prodware-plc-per-tab, 2) - 1))) / var(--prodware-plc-per-tab, 2));
	}
}
@media (max-width: 767px) {
	.prodware-plc__inner { padding: 0 16px; }
	.prodware-plc__track { gap: 16px; }
	.prodware-plc__slide {
		flex-basis: calc((100% - (16px * (var(--prodware-plc-per-mob, 1) - 1))) / var(--prodware-plc-per-mob, 1));
	}
	.prodware-plc__carousel { gap: 8px; }
	.prodware-plc__arrow { display: inline-flex; width: 32px; height: 32px; }
	.prodware-plc__card-body { padding: 16px; }
	.prodware-plc__title { font-size: 16px; }
}

/* ==========================================================================
   RELATED RESOURCES  (.prodware-rr)
   ========================================================================== */
.prodware-rr__inner {
	max-width: var(--container);
	margin: 0 auto;
	padding: 0 var(--gutter);
	display: grid;
	grid-template-columns: minmax(160px, 220px) 1fr;
	gap: 32px;
	align-items: center;
}
.prodware-rr__label {
	margin: 0;
	font-family: 'Poppins', sans-serif;
	font-weight: 600;
	font-size: 16px;
	line-height: 1.4;
	color: #fff;
}
.prodware-rr__carousel {
	position: relative;
	display: flex;
	align-items: center;
	gap: 12px;
}
.prodware-rr__viewport {
	flex: 1 1 auto;
	overflow: hidden;
}
.prodware-rr__track {
	display: flex;
	gap: 16px;
	transition: transform .28s ease;
	will-change: transform;
}
.prodware-rr__card {
	flex: 0 0 calc((100% - (16px * (var(--prodware-plc-per, 3) - 1))) / var(--prodware-plc-per, 3));
	min-width: 0;
	background: #fff;
	border-radius: 16px;
	padding: 24px;
	text-decoration: none;
	color: inherit;
	min-height: 160px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	gap: 16px;
	transition: transform .25s ease, box-shadow .25s ease;
}
.prodware-rr__card:hover {
	transform: translateY(-3px);
	box-shadow: 0 12px 28px rgba(19, 30, 66, 0.12);
}
.prodware-rr__tag {
	display: inline-block;
	background: linear-gradient(90deg, var(--clr-pink) 0%, var(--clr-purple) 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	font-family: 'Poppins', sans-serif;
	font-weight: 600;
	font-size: 14px;
	line-height: 1.4;
}
.prodware-rr__title {
	margin: 0;
	font-family: 'Poppins', sans-serif;
	font-weight: 500;
	font-size: 15px;
	line-height: 1.4;
	color: var(--clr-text);
}
.prodware-rr__arrow {
	flex: 0 0 auto;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	border: 1.5px solid rgba(255,255,255,0.3);
	background: transparent;
	color: #fff;
	cursor: pointer;
	font-size: 20px;
	line-height: 1;
}
.prodware-rr__dots {
	display: flex;
	justify-content: flex-end;
	gap: 6px;
	margin-top: 16px;
	grid-column: 2;
}
.prodware-rr__dots button {
	width: 8px; height: 8px;
	border-radius: 50%;
	border: none;
	background: rgba(255, 255, 255, 0.3);
	cursor: pointer;
	padding: 0;
	transition: background .2s, width .2s;
}
.prodware-rr__dots button.is-active {
	background: var(--clr-blue);
	width: 22px;
	border-radius: 6px;
}

@media (max-width: 1024px) {
	.prodware-rr__inner { grid-template-columns: 1fr; gap: 20px; }
	.prodware-rr__card {
		flex-basis: calc((100% - (16px * (var(--prodware-plc-per-tab, 2) - 1))) / var(--prodware-plc-per-tab, 2));
	}
	.prodware-rr__dots { justify-content: center; grid-column: auto; }
}
@media (max-width: 767px) {
	.prodware-rr__inner { padding: 0 16px; }
	.prodware-rr__arrow { width: 30px; height: 30px; font-size: 15px; }
	.prodware-rr__dots { margin-top: 12px; }
	.prodware-rr__dots button { width: 7px; height: 7px; }
	.prodware-rr__dots button.is-active { width: 18px; }
	.prodware-rr__card {
		flex-basis: calc((100% - (12px * (var(--prodware-plc-per-mob, 1) - 1))) / var(--prodware-plc-per-mob, 1));
		min-height: 140px;
		padding: 20px;
	}
	.prodware-rr__track { gap: 12px; transition: transform .2s ease; }
}

/* ==========================================================================
   RELATED SOLUTIONS  (.prodware-rs)
   ========================================================================== */
.prodware-rs__inner {
	max-width: var(--container);
	margin: 0 auto;
	padding: 0 var(--gutter);
	display: grid;
	grid-template-columns: minmax(160px, 220px) 1fr;
	gap: 32px;
	align-items: center;
}
.prodware-rs__label {
	margin: 0;
	font-family: 'Poppins', sans-serif;
	font-weight: 600;
	font-size: 16px;
	line-height: 1.4;
	color: #fff;
}
.prodware-rs__carousel {
	position: relative;
	display: flex;
	align-items: center;
	gap: 12px;
}
.prodware-rs__viewport {
	flex: 1 1 auto;
	overflow: hidden;
}
.prodware-rs__track {
	display: flex;
	gap: 12px;
	transition: transform .4s ease;
	will-change: transform;
}
.prodware-rs__pill {
	flex: 0 0 calc((100% - (12px * (var(--prodware-plc-per, 4) - 1))) / var(--prodware-plc-per, 4));
	min-width: 0;
	background: rgba(255,255,255,0.05);
	border: 1px solid rgba(255,255,255,0.15);
	color: #fff;
	border-radius: 8px;
	padding: 14px 20px;
	text-decoration: none;
	font-family: 'Poppins', sans-serif;
	font-weight: 500;
	font-size: 14px;
	text-align: center;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	transition: background .2s, border-color .2s;
}
.prodware-rs__pill:hover {
	background: rgba(255,255,255,0.1);
	border-color: rgba(255,255,255,0.3);
}
.prodware-rs__arrow {
	flex: 0 0 auto;
	width: 32px; height: 32px;
	border-radius: 50%;
	border: 1px solid rgba(255,255,255,0.3);
	background: transparent;
	color: #fff;
	cursor: pointer;
	font-size: 18px; line-height: 1;
}
.prodware-rs__dots {
	display: flex;
	justify-content: flex-end;
	gap: 6px;
	margin-top: 14px;
	grid-column: 2;
}
.prodware-rs__dots button {
	width: 8px; height: 8px;
	border-radius: 50%;
	border: none;
	background: rgba(255,255,255,0.3);
	cursor: pointer;
	padding: 0;
	transition: background .2s, width .2s;
}
.prodware-rs__dots button.is-active {
	background: var(--clr-blue);
	width: 22px;
	border-radius: 6px;
}

@media (max-width: 1024px) {
	.prodware-rs__inner { grid-template-columns: 1fr; gap: 16px; }
	.prodware-rs__pill {
		flex-basis: calc((100% - (10px * (var(--prodware-plc-per-tab, 3) - 1))) / var(--prodware-plc-per-tab, 3));
	}
	.prodware-rs__dots { justify-content: center; grid-column: auto; }
}
@media (max-width: 767px) {
	.prodware-rs__inner { padding: 0 16px; }
	.prodware-rs__arrow { width: 30px; height: 30px; font-size: 15px; }
	.prodware-rs__dots { margin-top: 12px; }
	.prodware-rs__dots button { width: 7px; height: 7px; }
	.prodware-rs__dots button.is-active { width: 18px; }
	.prodware-rs__pill {
		flex-basis: calc((100% - (10px * (var(--prodware-plc-per-mob, 2) - 1))) / var(--prodware-plc-per-mob, 2));
		font-size: 13px;
		padding: 12px 14px;
	}
	.prodware-rs__track { gap: 10px; }
}

/* ==========================================================================
   CERTIFICATIONS  (.prodware-cert)
   ========================================================================== */
.prodware-cert__inner {
	max-width: var(--container);
	margin: 0 auto;
	padding: 0 var(--gutter);
	display: grid;
	grid-template-columns: minmax(180px, 260px) 1fr;
	gap: 32px;
	align-items: center;
}
.prodware-cert__label {
	margin: 0;
	font-family: 'Poppins', sans-serif;
	font-weight: 600;
	font-size: 16px;
	line-height: 1.4;
	color: var(--clr-text);
	padding-right: 24px;
	border-right: 1px solid var(--clr-border);
}
.prodware-cert__carousel {
	position: relative;
	display: flex;
	align-items: center;
	gap: 12px;
}
.prodware-cert__viewport {
	flex: 1 1 auto;
	overflow: hidden;
}
.prodware-cert__track {
	display: flex;
	gap: 16px;
	transition: transform .4s ease;
	will-change: transform;
}
.prodware-cert__box {
	flex: 0 0 calc((100% - (16px * (var(--prodware-plc-per, 5) - 1))) / var(--prodware-plc-per, 5));
	min-width: 0;
	background: #fff;
	border-radius: 12px;
	min-height: 88px;
	padding: 16px 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	transition: transform .25s ease, box-shadow .25s ease;
}
.prodware-cert--shadow-none   .prodware-cert__box { box-shadow: none; }
.prodware-cert--shadow-subtle .prodware-cert__box { box-shadow: 0 2px 10px rgba(19, 30, 66, 0.06); }
.prodware-cert--shadow-strong .prodware-cert__box { box-shadow: 0 8px 24px rgba(19, 30, 66, 0.10); }
a.prodware-cert__box:hover { transform: translateY(-2px); }
.prodware-cert__box img {
	max-width: 100%;
	max-height: 48px;
	width: auto;
	height: auto;
	object-fit: contain;
}
.prodware-cert__arrow {
	flex: 0 0 auto;
	width: 36px; height: 36px;
	border-radius: 50%;
	border: 1.5px solid var(--clr-border);
	background: transparent;
	color: var(--clr-text);
	cursor: pointer;
	font-size: 20px; line-height: 1;
}
.prodware-cert__dots {
	display: flex;
	justify-content: flex-end;
	gap: 6px;
	margin-top: 14px;
	grid-column: 2;
}
.prodware-cert__dots button {
	width: 8px; height: 8px;
	border-radius: 50%;
	border: none;
	background: rgba(19,30,66,0.2);
	cursor: pointer;
	padding: 0;
	transition: background .2s, width .2s;
}
.prodware-cert__dots button.is-active {
	background: var(--clr-blue);
	width: 22px;
	border-radius: 6px;
}

/* Preset overrides — dark backgrounds */
.prodware-preset--style-1 .prodware-cert__label,
.prodware-preset--style-2 .prodware-cert__label,
.prodware-preset--style-3 .prodware-cert__label {
	color: #fff;
	border-right-color: rgba(255, 255, 255, 0.15);
}
.prodware-preset--style-1 .prodware-cert__arrow,
.prodware-preset--style-2 .prodware-cert__arrow,
.prodware-preset--style-3 .prodware-cert__arrow {
	border-color: rgba(255, 255, 255, 0.3);
	color: #fff;
}
.prodware-preset--style-1 .prodware-cert__dots button,
.prodware-preset--style-2 .prodware-cert__dots button,
.prodware-preset--style-3 .prodware-cert__dots button {
	background: rgba(255, 255, 255, 0.3);
}

@media (max-width: 1024px) {
	.prodware-cert__inner { grid-template-columns: 1fr; gap: 20px; }
	.prodware-cert__label { padding-right: 0; border-right: none; text-align: center; }
	.prodware-cert__box {
		flex-basis: calc((100% - (12px * (var(--prodware-plc-per-tab, 3) - 1))) / var(--prodware-plc-per-tab, 3));
	}
	.prodware-cert__dots { justify-content: center; grid-column: auto; }
}
@media (max-width: 767px) {
	.prodware-cert__inner { padding: 0 16px; }
	.prodware-cert__box {
		flex-basis: calc((100% - (10px * (var(--prodware-plc-per-mob, 2) - 1))) / var(--prodware-plc-per-mob, 2));
		min-height: 70px;
		padding: 12px 14px;
	}
	.prodware-cert__box img { max-height: 36px; }
	.prodware-cert__track { gap: 10px; }
}

/* ==========================================================================
   v2.4.4 — Carousel polish
   Standardized dots (#ccc → blue active, 8px → 22px), mobile text wrap fix,
   centered dots, prevent edge cutoff.
   ========================================================================== */

/* ---- Unified dot pagination across all 4 new carousels ---- */
.prodware-plc__dots,
.prodware-rr__dots,
.prodware-rs__dots,
.prodware-cert__dots {
	display: flex !important;
	justify-content: center !important;
	align-items: center;
	gap: 8px;
	margin-top: 20px;
	grid-column: 1 / -1; /* span full width regardless of grid context */
	width: 100%;
}
.prodware-plc__dots button,
.prodware-rr__dots button,
.prodware-rs__dots button,
.prodware-cert__dots button,
.prodware-plc__dots .prodware-dot,
.prodware-rr__dots .prodware-dot,
.prodware-rs__dots .prodware-dot,
.prodware-cert__dots .prodware-dot {
	display: inline-block !important;
	box-sizing: border-box !important;
	width: 8px !important;
	height: 8px !important;
	min-width: 0 !important;
	max-width: none !important;
	min-height: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	background: #ccc !important;
	background-image: none !important;
	border: none !important;
	border-radius: 50px !important;
	box-shadow: none !important;
	outline: none !important;
	opacity: 1 !important;
	cursor: pointer;
	transition: all 0.3s ease;
	font-size: 0 !important;
	line-height: 0 !important;
	color: transparent !important;
	text-decoration: none !important;
	text-shadow: none !important;
	-webkit-appearance: none !important;
	appearance: none !important;
	transform: none !important;
	letter-spacing: normal !important;
	text-transform: none !important;
	font-family: inherit !important;
	vertical-align: middle;
}
.prodware-plc__dots button:hover,
.prodware-rr__dots button:hover,
.prodware-rs__dots button:hover,
.prodware-cert__dots button:hover,
.prodware-plc__dots .prodware-dot:hover,
.prodware-rr__dots .prodware-dot:hover,
.prodware-rs__dots .prodware-dot:hover,
.prodware-cert__dots .prodware-dot:hover {
	background: #999 !important;
	transform: none !important;
}
.prodware-plc__dots button.is-active,
.prodware-rr__dots button.is-active,
.prodware-rs__dots button.is-active,
.prodware-cert__dots button.is-active,
.prodware-plc__dots .prodware-dot.is-active,
.prodware-rr__dots .prodware-dot.is-active,
.prodware-rs__dots .prodware-dot.is-active,
.prodware-cert__dots .prodware-dot.is-active {
	width: 22px !important;
	background: var(--clr-blue) !important;
	border-radius: 50px !important;
}
.prodware-dot:focus-visible {
	outline: 2px solid var(--clr-blue) !important;
	outline-offset: 2px;
}

/* ---- Card / pill text fits and wraps properly ---- */
.prodware-plc__slide,
.prodware-rr__card,
.prodware-rs__pill,
.prodware-cert__box {
	min-width: 0; /* critical: allow flex items to shrink below content size */
}
.prodware-plc__title,
.prodware-plc__excerpt,
.prodware-plc__tag,
.prodware-rr__title,
.prodware-rr__tag {
	word-wrap: break-word;
	overflow-wrap: break-word;
	hyphens: auto;
	max-width: 100%;
}
/* Pills: allow text to wrap to 2 lines instead of being clipped */
.prodware-rs__pill {
	white-space: normal;
	line-height: 1.3;
	overflow: visible;
	text-overflow: clip;
	word-wrap: break-word;
	overflow-wrap: break-word;
}

/* ---- Carousel viewport: bulletproof clipping ---- */
.prodware-plc__viewport,
.prodware-rr__viewport,
.prodware-rs__viewport,
.prodware-cert__viewport {
	overflow: hidden;
	min-width: 0;
	width: 100%;
}

/* ---- Carousel wrapper width never overflows ---- */
.prodware-plc__carousel,
.prodware-rr__carousel,
.prodware-rs__carousel,
.prodware-cert__carousel {
	min-width: 0;
	max-width: 100%;
}

/* ---- Mobile: single-column stack + proper padding to keep cards on screen ---- */
@media (max-width: 1024px) {
	.prodware-rr__inner,
	.prodware-rs__inner,
	.prodware-cert__inner {
		grid-template-columns: 1fr !important;
		gap: 20px;
	}
	.prodware-rr__label,
	.prodware-rs__label,
	.prodware-cert__label {
		text-align: left;
	}
	.prodware-cert__label {
		padding-right: 0;
		border-right: none;
		padding-bottom: 12px;
		border-bottom: 1px solid rgba(255,255,255,0.12);
	}
}
@media (max-width: 767px) {
	.prodware-plc__inner,
	.prodware-rr__inner,
	.prodware-rs__inner,
	.prodware-cert__inner {
		padding: 0 16px;
	}
	/* Cards/pills: keep mobile per-view as configured but ensure padding fits */
	.prodware-rr__card { padding: 20px; min-height: 140px; }
	.prodware-rs__pill { padding: 12px 14px; font-size: 13px; }
	.prodware-cert__box { padding: 12px 14px; min-height: 70px; }

	/* Tighter dots on mobile */
	.prodware-plc__dots,
	.prodware-rr__dots,
	.prodware-rs__dots,
	.prodware-cert__dots {
		margin-top: 16px;
		gap: 6px;
	}
}

/* ---- Hero no-media: keep centered content also at mobile widths ---- */
@media (max-width: 1024px) {
	.prodware-hero--media-none .prodware-hero__inner {
		grid-template-columns: 1fr !important;
	}
}

/* ==========================================================================
   v2.4.6 — Carousel overflow fix + Arrow span reset + Settings classes
   ========================================================================== */

/* ---- CRITICAL: prevent grid 1fr column from expanding to fit intrinsic content ---- */
.prodware-rr__inner,
.prodware-rs__inner,
.prodware-cert__inner {
	min-width: 0;
}
.prodware-rr__inner > *,
.prodware-rs__inner > *,
.prodware-cert__inner > * {
	min-width: 0; /* grid items need this or they expand to intrinsic size */
	max-width: 100%;
}
/* Specifically the carousel column needs to be constrained */
.prodware-rr__carousel,
.prodware-rs__carousel,
.prodware-cert__carousel,
.prodware-plc__carousel {
	min-width: 0 !important;
	max-width: 100%;
	width: 100%;
}

/* ---- Arrows now use <span>, not <button>. Reset to neutralize theme button styles ---- */
.prodware-plc__arrow,
.prodware-rr__arrow,
.prodware-rs__arrow,
.prodware-cert__arrow {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	width: 40px !important;
	height: 40px !important;
	min-width: 0 !important;
	max-width: none !important;
	padding: 0 !important;
	margin: 0 !important;
	background: transparent !important;
	background-image: none !important;
	border: 1.5px solid var(--clr-border) !important;
	border-radius: 50% !important;
	box-shadow: none !important;
	color: var(--clr-text) !important;
	cursor: pointer;
	user-select: none;
	transition: background .2s, border-color .2s, color .2s, opacity .2s;
	font-size: 22px !important;
	line-height: 1 !important;
	font-weight: 400 !important;
	text-decoration: none !important;
	text-shadow: none !important;
	font-family: inherit !important;
	-webkit-appearance: none !important;
	appearance: none !important;
	transform: none !important;
	flex: 0 0 auto !important;
}
.prodware-plc__arrow:hover,
.prodware-rr__arrow:hover,
.prodware-rs__arrow:hover,
.prodware-cert__arrow:hover {
	background: var(--clr-blue) !important;
	border-color: var(--clr-blue) !important;
	color: #fff !important;
}
.prodware-plc__arrow.is-disabled,
.prodware-rr__arrow.is-disabled,
.prodware-rs__arrow.is-disabled,
.prodware-cert__arrow.is-disabled {
	opacity: 0.3;
	pointer-events: none;
}
/* Smaller arrows for the compact widgets, white for dark presets */
.prodware-rr__arrow,
.prodware-rs__arrow,
.prodware-cert__arrow {
	width: 36px !important;
	height: 36px !important;
	font-size: 20px !important;
}
.prodware-preset--style-1 .prodware-rr__arrow,
.prodware-preset--style-2 .prodware-rr__arrow,
.prodware-preset--style-3 .prodware-rr__arrow,
.prodware-preset--style-1 .prodware-rs__arrow,
.prodware-preset--style-2 .prodware-rs__arrow,
.prodware-preset--style-3 .prodware-rs__arrow {
	border-color: rgba(255,255,255,0.3) !important;
	color: #fff !important;
}
.prodware-plc__arrow:focus-visible,
.prodware-rr__arrow:focus-visible,
.prodware-rs__arrow:focus-visible,
.prodware-cert__arrow:focus-visible {
	outline: 2px solid var(--clr-blue) !important;
	outline-offset: 2px;
}

/* ---- Static state: everything fits, so kill the slide offset. Card
   carousels align left (reads like a normal grid); the logo/cert group
   centers because a short logo row looks better balanced. ---- */
.prodware-plc.is-static  .prodware-plc__track,
.prodware-rr.is-static   .prodware-rr__track,
.prodware-rs.is-static   .prodware-rs__track {
	transform: none !important;
	justify-content: flex-start;
}
.prodware-cert.is-static .prodware-cert__track {
	transform: none !important;
	justify-content: center;
}
.prodware-plc.is-static  .prodware-plc__viewport,
.prodware-rr.is-static   .prodware-rr__viewport,
.prodware-rs.is-static   .prodware-rs__viewport,
.prodware-cert.is-static .prodware-cert__viewport { cursor: default; }

/* ---- Show/hide indicators (class beats the !important dot/arrow styles) ---- */
.prodware-plc__dots.is-hidden,  .prodware-rr__dots.is-hidden,
.prodware-rs__dots.is-hidden,   .prodware-cert__dots.is-hidden,
.prodware-plc__arrow.is-hidden, .prodware-rr__arrow.is-hidden,
.prodware-rs__arrow.is-hidden,  .prodware-cert__arrow.is-hidden { display: none !important; }

/* ---- "Scrollable" affordance: soft fade on the right edge of the viewport so
   it's obvious there's more content to swipe/scroll to, even before the dots
   are noticed. Only shows when JS marks the carousel scrollable. ---- */
.prodware-plc.is-scrollable  .prodware-plc__viewport,
.prodware-rr.is-scrollable   .prodware-rr__viewport,
.prodware-rs.is-scrollable   .prodware-rs__viewport,
.prodware-cert.is-scrollable .prodware-cert__viewport { position: relative; }
.prodware-plc.is-scrollable  .prodware-plc__viewport::after,
.prodware-rr.is-scrollable   .prodware-rr__viewport::after,
.prodware-rs.is-scrollable   .prodware-rs__viewport::after,
.prodware-cert.is-scrollable .prodware-cert__viewport::after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	width: 48px;
	height: 100%;
	pointer-events: none;
	background: linear-gradient(to right, rgba(255,255,255,0), rgba(255,255,255,0.9));
	z-index: 2;
}
/* Dark presets: the white fade would clash, so drop it (dots still signal scroll). */
.prodware-preset--style-1 .prodware-plc__viewport::after,
.prodware-preset--style-1 .prodware-rr__viewport::after,
.prodware-preset--style-1 .prodware-rs__viewport::after,
.prodware-preset--style-1 .prodware-cert__viewport::after,
.prodware-preset--style-2 .prodware-plc__viewport::after,
.prodware-preset--style-2 .prodware-rr__viewport::after,
.prodware-preset--style-2 .prodware-rs__viewport::after,
.prodware-preset--style-2 .prodware-cert__viewport::after,
.prodware-preset--style-3 .prodware-plc__viewport::after,
.prodware-preset--style-3 .prodware-rr__viewport::after,
.prodware-preset--style-3 .prodware-rs__viewport::after,
.prodware-preset--style-3 .prodware-cert__viewport::after { display: none; }

/* ---- Dots alignment (prefix class prodware-carousel--dots-left/center/right) ---- */
.prodware-carousel--dots-left .prodware-plc__dots,
.prodware-carousel--dots-left .prodware-rr__dots,
.prodware-carousel--dots-left .prodware-rs__dots,
.prodware-carousel--dots-left .prodware-cert__dots { justify-content: flex-start !important; }
.prodware-carousel--dots-center .prodware-plc__dots,
.prodware-carousel--dots-center .prodware-rr__dots,
.prodware-carousel--dots-center .prodware-rs__dots,
.prodware-carousel--dots-center .prodware-cert__dots { justify-content: center !important; }
.prodware-carousel--dots-right .prodware-plc__dots,
.prodware-carousel--dots-right .prodware-rr__dots,
.prodware-carousel--dots-right .prodware-rs__dots,
.prodware-carousel--dots-right .prodware-cert__dots { justify-content: flex-end !important; }

/* ---- Arrows position variants ---- */
/* Overlay: arrows float on top of card edges */
.prodware-carousel--arrows-overlay .prodware-plc__carousel,
.prodware-carousel--arrows-overlay .prodware-rr__carousel,
.prodware-carousel--arrows-overlay .prodware-rs__carousel,
.prodware-carousel--arrows-overlay .prodware-cert__carousel {
	position: relative;
	padding: 0;
}
.prodware-carousel--arrows-overlay .prodware-plc__arrow,
.prodware-carousel--arrows-overlay .prodware-rr__arrow,
.prodware-carousel--arrows-overlay .prodware-rs__arrow,
.prodware-carousel--arrows-overlay .prodware-cert__arrow {
	position: absolute !important;
	top: 50%;
	transform: translateY(-50%) !important;
	z-index: 3;
	background: rgba(255,255,255,0.95) !important;
	box-shadow: 0 4px 14px rgba(19,30,66,0.18) !important;
	border-color: transparent !important;
}
.prodware-carousel--arrows-overlay .prodware-plc__arrow--prev,
.prodware-carousel--arrows-overlay .prodware-rr__arrow--prev,
.prodware-carousel--arrows-overlay .prodware-rs__arrow--prev,
.prodware-carousel--arrows-overlay .prodware-cert__arrow--prev { left: -8px; }
.prodware-carousel--arrows-overlay .prodware-plc__arrow--next,
.prodware-carousel--arrows-overlay .prodware-rr__arrow--next,
.prodware-carousel--arrows-overlay .prodware-rs__arrow--next,
.prodware-carousel--arrows-overlay .prodware-cert__arrow--next { right: -8px; }

/* Top-right: arrows above the carousel, right-aligned, beside the header */
.prodware-carousel--arrows-top-right .prodware-plc__carousel {
	display: block;
}
.prodware-carousel--arrows-top-right .prodware-plc__carousel::before {
	content: '';
	display: block;
	margin-bottom: 16px;
}
.prodware-carousel--arrows-top-right .prodware-plc__arrow,
.prodware-carousel--arrows-top-right .prodware-rr__arrow,
.prodware-carousel--arrows-top-right .prodware-rs__arrow,
.prodware-carousel--arrows-top-right .prodware-cert__arrow {
	position: absolute;
	top: 0;
	right: 0;
}
.prodware-carousel--arrows-top-right .prodware-plc__arrow--prev,
.prodware-carousel--arrows-top-right .prodware-rr__arrow--prev,
.prodware-carousel--arrows-top-right .prodware-rs__arrow--prev,
.prodware-carousel--arrows-top-right .prodware-cert__arrow--prev { right: 52px; }

/* ---- Mobile toggles via prefix classes ---- */
@media (max-width: 767px) {
	/* Hide arrows on mobile unless explicitly enabled */
	.prodware-plc:not(.prodware-carousel--mobile-arrows-yes) .prodware-plc__arrow,
	.prodware-rr:not(.prodware-carousel--mobile-arrows-yes) .prodware-rr__arrow,
	.prodware-rs:not(.prodware-carousel--mobile-arrows-yes) .prodware-rs__arrow,
	.prodware-cert:not(.prodware-carousel--mobile-arrows-yes) .prodware-cert__arrow {
		display: none !important;
	}
	/* Hide dots on mobile ONLY when explicitly disabled (opt-out).
	   Disabling the switcher leaves the bare "…mobile-dots-" class with no
	   "-yes"; anything else (including legacy widgets with no class) keeps dots
	   visible so users always get a scroll cue on phones. */
	.prodware-carousel--mobile-dots-:not(.prodware-carousel--mobile-dots-yes) .prodware-plc__dots,
	.prodware-carousel--mobile-dots-:not(.prodware-carousel--mobile-dots-yes) .prodware-rr__dots,
	.prodware-carousel--mobile-dots-:not(.prodware-carousel--mobile-dots-yes) .prodware-rs__dots,
	.prodware-carousel--mobile-dots-:not(.prodware-carousel--mobile-dots-yes) .prodware-cert__dots {
		display: none !important;
	}

	/* Full-bleed: cards extend to screen edges with peek effect */
	.prodware-carousel--bleed-yes.prodware-plc .prodware-plc__inner,
	.prodware-carousel--bleed-yes.prodware-rr .prodware-rr__inner,
	.prodware-carousel--bleed-yes.prodware-rs .prodware-rs__inner,
	.prodware-carousel--bleed-yes.prodware-cert .prodware-cert__inner {
		padding-left: 16px;
		padding-right: 0;
	}
	.prodware-carousel--bleed-yes .prodware-plc__viewport,
	.prodware-carousel--bleed-yes .prodware-rr__viewport,
	.prodware-carousel--bleed-yes .prodware-rs__viewport,
	.prodware-carousel--bleed-yes .prodware-cert__viewport {
		overflow: visible; /* let neighbor cards peek out */
	}
}

/* ==========================================================================
   v2.4.7 — Icon picker for carousel arrows
   Sized icons inside .prodware-X__arrow spans (works for FA classes + SVG)
   ========================================================================== */
.prodware-plc__arrow i,
.prodware-rr__arrow i,
.prodware-rs__arrow i,
.prodware-cert__arrow i,
.prodware-plc__arrow svg,
.prodware-rr__arrow svg,
.prodware-rs__arrow svg,
.prodware-cert__arrow svg {
	font-size: inherit !important;
	width: 1em;
	height: 1em;
	display: inline-block;
	line-height: 1;
	vertical-align: middle;
	fill: currentColor;
	color: inherit;
}
.prodware-plc__arrow i::before,
.prodware-rr__arrow i::before,
.prodware-rs__arrow i::before,
.prodware-cert__arrow i::before {
	line-height: 1;
}

/* ==========================================================================
   v2.4.9 — Native Contact Form (replaces iframe right side)
   ========================================================================== */
.prodware-form__form {
	display: flex;
	flex-direction: column;
	gap: 16px;
	width: 100%;
}

/* 2-column flex grid for fields */
.prodware-form__grid {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}
.prodware-form__field {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}
.prodware-form__field--w50 {
	flex: 1 1 calc(50% - 6px);
	min-width: calc(50% - 6px);
}
.prodware-form__field--w100 {
	flex: 1 1 100%;
}

/* Visually-hidden label (placeholder serves as the label, matching screenshot) */
.prodware-form__label {
	position: absolute !important;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	width: 1px; height: 1px;
	overflow: hidden;
	white-space: nowrap;
}

/* Inputs — pill style by default (radius 50px) to match the screenshot */
.prodware-form__field input:not([type="checkbox"]),
.prodware-form__field textarea,
.prodware-form__field select {
	width: 100%;
	box-sizing: border-box;
	padding: 14px 22px;
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid rgba(255, 255, 255, 0.15);
	color: #fff;
	font-family: 'Poppins', sans-serif;
	font-size: 14px;
	line-height: 20px;
	border-radius: 50px;
	transition: border-color .2s, background .2s;
	font-weight: 400;
}
.prodware-form__field textarea {
	border-radius: 12px;
	min-height: 110px;
	resize: vertical;
	font-family: inherit;
}
.prodware-form__field input::placeholder,
.prodware-form__field textarea::placeholder {
	color: rgba(255, 255, 255, 0.5);
}
.prodware-form__field input:focus,
.prodware-form__field textarea:focus,
.prodware-form__field select:focus {
	outline: none;
	border-color: var(--clr-blue);
	background: rgba(255, 255, 255, 0.08);
}
.prodware-form__field input:invalid:not(:placeholder-shown),
.prodware-form__field textarea:invalid:not(:placeholder-shown) {
	border-color: rgba(255, 113, 113, 0.5);
}
.prodware-form__req { color: var(--clr-pink); margin-left: 2px; }

/* Consent checkboxes */
.prodware-form__consents {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-top: 4px;
}
.prodware-form__consent {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	color: #fff;
	font-family: 'Poppins', sans-serif;
	font-size: 13px;
	line-height: 1.5;
	cursor: pointer;
}
.prodware-form__consent input[type="checkbox"],
.prodware-form__checkbox input[type="checkbox"] {
	margin: 2px 0 0;
	width: 16px;
	height: 16px;
	flex: 0 0 16px;
	accent-color: var(--clr-blue);
	cursor: pointer;
}
.prodware-form__consent span,
.prodware-form__checkbox span { flex: 1 1 auto; }

/* ---- Circular radio buttons ---- */
.prodware-form input[type="radio"] {
	-webkit-appearance: none;
	appearance: none;
	margin: 2px 0 0;
	width: 18px;
	height: 18px;
	flex: 0 0 18px;
	border: 2px solid var(--clr-border, #c9d2e3);
	border-radius: 50%;
	background: #fff;
	display: inline-grid;
	place-content: center;
	cursor: pointer;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.prodware-form input[type="radio"]::before {
	content: "";
	width: 9px;
	height: 9px;
	border-radius: 50%;
	transform: scale(0);
	transition: transform .15s ease;
	background: var(--clr-blue, #456BFF);
}
.prodware-form input[type="radio"]:checked {
	border-color: var(--clr-blue, #456BFF);
}
.prodware-form input[type="radio"]:checked::before { transform: scale(1); }
.prodware-form input[type="radio"]:focus-visible {
	outline: none;
	box-shadow: 0 0 0 3px rgba(69,107,255,0.25);
}

/* Mutually-exclusive consent checkboxes (the email opt-in / unsubscribe pair)
   behave like radios — so render them as round radio-style controls on every
   form for a consistent look. */
.prodware-form input[type="checkbox"][data-consent-group] {
	-webkit-appearance: none !important;
	appearance: none !important;
	margin: 2px 0 0 !important;
	width: 18px !important;
	height: 18px !important;
	flex: 0 0 18px !important;
	border: 2px solid var(--clr-border, #c9d2e3) !important;
	border-radius: 50% !important;
	background: #fff !important;
	display: inline-grid !important;
	place-content: center !important;
	cursor: pointer;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.prodware-form input[type="checkbox"][data-consent-group]::before {
	content: "";
	width: 9px;
	height: 9px;
	border-radius: 50%;
	transform: scale(0);
	transition: transform .15s ease;
	background: var(--clr-blue, #456BFF);
}
.prodware-form input[type="checkbox"][data-consent-group]:checked { border-color: var(--clr-blue, #456BFF) !important; }
.prodware-form input[type="checkbox"][data-consent-group]:checked::before { transform: scale(1); }
.prodware-form input[type="checkbox"][data-consent-group]:focus-visible {
	outline: none;
	box-shadow: 0 0 0 3px rgba(69,107,255,0.25);
}
.prodware-form__consent a {
	color: inherit;
	text-decoration: underline;
}

/* Submit button — uses the design-system "primary-blue" look */
.prodware-form__actions {
	display: flex;
	justify-content: flex-start;
	margin-top: 8px;
}
.prodware-form__submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 14px 32px;
	background: var(--clr-blue);
	color: #fff;
	border: none;
	border-radius: 50px;
	font-family: 'Poppins', sans-serif;
	font-weight: 500;
	font-size: 14px;
	line-height: 20px;
	cursor: pointer;
	transition: background .2s, opacity .2s, transform .2s;
	box-shadow: 0 4px 16px rgba(69, 107, 255, 0.35);
}
.prodware-form__submit:hover { background: #3658e8; transform: translateY(-1px); }
.prodware-form__submit:disabled { opacity: 0.6; cursor: not-allowed; transform: none; }
.prodware-form__submit-label { display: inline-block; }

/* Inline messages */
.prodware-form__message {
	padding: 14px 20px;
	border-radius: 12px;
	font-family: 'Poppins', sans-serif;
	font-size: 14px;
	line-height: 1.5;
	margin-top: 4px;
}
.prodware-form__message--success {
	background: rgba(69, 205, 255, 0.12);
	border: 1px solid rgba(69, 205, 255, 0.35);
	color: #fff;
}
.prodware-form__message--error {
	background: rgba(255, 113, 113, 0.12);
	border: 1px solid rgba(255, 113, 113, 0.35);
	color: #fff;
}

/* Mobile */
@media (max-width: 767px) {
	.prodware-form__grid { gap: 10px; }
	.prodware-form__field--w50 { flex-basis: 100%; min-width: 0; }
	.prodware-form__submit { width: 100%; }
	.prodware-form__actions { justify-content: stretch; }
}

/* ==========================================================================
   v2.4.10 — Interactive Map: two-column layout
   ========================================================================== */
.prodware-map__layout { display: block; }
.prodware-map--layout-side-map-left  .prodware-map__layout,
.prodware-map--layout-side-map-right .prodware-map__layout {
	display: grid;
	grid-template-columns: 60% 1fr;
	gap: 24px;
	align-items: start;
}
.prodware-map--layout-side-map-right .prodware-map__layout {
	grid-template-areas: "info map";
}
.prodware-map--layout-side-map-right .prodware-map__card        { grid-area: map; }
.prodware-map--layout-side-map-right .prodware-map__controls,
.prodware-map--layout-side-map-right .prodware-map__offices-wrap { grid-area: info; }
.prodware-map--layout-side-map-right .prodware-map__layout > * { min-width: 0; }
.prodware-map--layout-side-map-left  .prodware-map__layout > * { min-width: 0; }

/* On tablet/mobile, two-column collapses to stacked */
@media (max-width: 1024px) {
	.prodware-map--layout-side-map-left  .prodware-map__layout,
	.prodware-map--layout-side-map-right .prodware-map__layout {
		display: block;
		grid-template-columns: 1fr;
		grid-template-areas: none;
	}
}

/* ---- Clickable office address (opens map link) ---- */
.prodware-map__office-maplink {
	display: inline-flex;
	align-items: flex-start;
	gap: 6px;
	color: var(--clr-blue);
	text-decoration: none;
	transition: color .15s ease;
}
.prodware-map__office-maplink:hover { color: var(--clr-navy); text-decoration: underline; }
.prodware-map__office-pin { flex: 0 0 auto; display: inline-flex; margin-top: 2px; }
.prodware-map__office-pin svg { width: 13px; height: 13px; }

/* ---- Map eyebrow (small label above the title) ---- */
.prodware-map__eyebrow {
	font-family: 'Poppins', sans-serif;
	font-weight: 700;
	font-size: 12px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--clr-blue);
	text-align: center;
	margin: 0 0 10px;
}

/* ---- Text & selector left, map right (matches the marketing layout) ---- */
.prodware-map--layout-side-text-left .prodware-map__layout {
	display: grid;
	grid-template-columns: minmax(240px, 0.78fr) 1.22fr;
	gap: 36px;
	align-items: start;
}
.prodware-map--layout-side-text-left .prodware-header {
	grid-column: 1;
	text-align: left;
	margin: 0 0 8px;
	max-width: none;
}
.prodware-map--layout-side-text-left .prodware-map__eyebrow { grid-column: 1; text-align: left; }
.prodware-map--layout-side-text-left .prodware-header__title,
.prodware-map--layout-side-text-left .prodware-header__subtitle,
.prodware-map--layout-side-text-left .prodware-header__eyebrow {
	text-align: left;
	margin-left: 0;
	margin-right: 0;
	max-width: none;
}
/* Map fills the right column and spans the height of the left stack
   without stretching the image (align-self:start keeps its natural size). */
.prodware-map--layout-side-text-left .prodware-map__card {
	grid-column: 2;
	grid-row: 1 / span 99;
	align-self: start;
	margin: 0;
	max-width: 100%;
}
.prodware-map--layout-side-text-left .prodware-map__controls,
.prodware-map--layout-side-text-left .prodware-map__prompt,
.prodware-map--layout-side-text-left .prodware-map__offices-wrap {
	grid-column: 1;
	width: 100%;
}
.prodware-map--layout-side-text-left .prodware-map__controls { flex-direction: column; align-items: stretch; }
@media (max-width: 1024px) {
	.prodware-map--layout-side-text-left .prodware-map__layout {
		display: block;
		grid-template-columns: 1fr;
	}
	.prodware-map--layout-side-text-left .prodware-map__card { margin: 0 0 24px; }
}

/* ==========================================================================
   v2.4.10 — Country Switcher (.prodware-csw)
   ========================================================================== */
.prodware-csw {
	position: relative;
	display: inline-block;
}
.prodware-csw__trigger {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 14px;
	background: transparent;
	border: none;
	color: var(--clr-text);
	font-family: 'Poppins', sans-serif;
	font-weight: 500;
	font-size: 14px;
	line-height: 1.4;
	border-radius: 50px;
	cursor: pointer;
	transition: background .2s, color .2s;
}
.prodware-csw__trigger:hover { background: rgba(69,107,255,0.06); }
.prodware-csw__trigger-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	line-height: 1;
}
.prodware-csw__trigger-icon svg,
.prodware-csw__trigger-icon i {
	font-size: inherit;
	width: 1em;
	height: 1em;
	fill: currentColor;
}
.prodware-csw__trigger-chev {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-left: 2px;
	transition: transform .2s;
}
.prodware-csw.is-open .prodware-csw__trigger-chev { transform: rotate(180deg); }

/* Dropdown */
.prodware-csw__menu {
	position: absolute;
	top: calc(100% + 8px);
	left: 0;
	z-index: 1000;
	width: 240px;
	max-height: 360px;
	overflow-y: auto;
	margin: 0;
	padding: 8px;
	list-style: none;
	background: #fff;
	border: 1px solid var(--clr-border);
	border-radius: 12px;
	box-shadow: 0 12px 32px rgba(19, 30, 66, 0.12);
}
.prodware-csw--align-right .prodware-csw__menu { left: auto; right: 0; }

.prodware-csw__menu li { list-style: none; margin: 0; padding: 0; }
.prodware-csw__item {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 14px;
	color: var(--clr-text);
	font-family: 'Poppins', sans-serif;
	font-weight: 500;
	font-size: 14px;
	line-height: 1.4;
	border-radius: 8px;
	text-decoration: none;
	transition: background .2s, color .2s;
}
.prodware-csw__item:hover,
.prodware-csw__item.is-current {
	background: var(--clr-blue);
	color: #fff;
}
.prodware-csw__item-flag {
	display: inline-flex;
	align-items: center;
	font-size: 18px;
	line-height: 1;
	flex: 0 0 auto;
}
.prodware-csw__item-label { flex: 1 1 auto; }

/* Scrollbar styling for the dropdown */
.prodware-csw__menu::-webkit-scrollbar { width: 6px; }
.prodware-csw__menu::-webkit-scrollbar-track { background: transparent; }
.prodware-csw__menu::-webkit-scrollbar-thumb {
	background: rgba(19, 30, 66, 0.2);
	border-radius: 6px;
}
.prodware-csw__menu::-webkit-scrollbar-thumb:hover { background: rgba(19, 30, 66, 0.4); }

/* Mobile — narrow dropdown that fits the screen with some breathing room */
@media (max-width: 767px) {
	.prodware-csw__menu {
		width: calc(100vw - 32px);
		max-width: 320px;
		left: 0;
		right: auto;
	}
	.prodware-csw--align-right .prodware-csw__menu { right: 0; left: auto; }
}


/* ==========================================================================
   v2.4.12 — Bug fixes
   ========================================================================== */

/* Fix 8: Contact form left column — align text to top, not center */
.prodware-form__inner {
	align-items: flex-start !important;
}

/* Fix 4: Country switcher dropdown — boost z-index, keep it absolute on top of header.
   The parent container may have transform/overflow that breaks position:absolute,
   so we force higher stacking and add a fallback fixed-on-mobile approach. */
.prodware-csw {
	position: relative;
	z-index: 100;
}
.prodware-csw__menu {
	z-index: 9999 !important; /* lift above any sticky header */
}
/* If a parent has overflow:hidden the dropdown gets clipped — for header use cases
   tell editors to add no-overflow class to the section. Provide it here. */
.prodware-csw-allow-overflow,
.prodware-csw-allow-overflow .elementor-container,
.prodware-csw-allow-overflow .elementor-widget-wrap,
.prodware-csw-allow-overflow .e-con-inner,
.prodware-csw-allow-overflow .e-con {
	overflow: visible !important;
}

/* Fix 7: Certifications carousel mobile — better single-column behavior */
@media (max-width: 767px) {
	.prodware-cert__inner {
		padding: 0 16px;
		grid-template-columns: 1fr !important;
	}
	.prodware-cert__label {
		text-align: left;
		font-size: 16px;
		padding-bottom: 8px;
		margin-bottom: 0;
		border-right: none;
		border-bottom: 1px solid rgba(255,255,255,0.12);
	}
	.prodware-cert__viewport {
		overflow: hidden;
	}
	.prodware-cert__track {
		gap: 12px;
	}
	.prodware-cert__box {
		min-width: 0;
		min-height: 80px;
		padding: 12px 16px;
		flex-basis: calc((100% - 12px * (var(--prodware-plc-per-mob, 2) - 1)) / var(--prodware-plc-per-mob, 2));
	}
	.prodware-cert__box img {
		max-width: 100%;
		max-height: 40px;
		object-fit: contain;
	}
}

/* Fix 5: Testimonials mobile — replace horizontal swipe with bullet pagination
   (still horizontal scroll, but now an explicit dot pagination below) */
@media (max-width: 767px) {
	.prodware-tm__grid {
		display: flex !important;
		flex-direction: row;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		gap: 16px;
		padding: 4px 16px 16px;
		scrollbar-width: none;
	}
	.prodware-tm__grid::-webkit-scrollbar { display: none; }
	.prodware-tm__card {
		flex: 0 0 88%;
		scroll-snap-align: start;
		min-width: 0;
	}
	.prodware-tm__dots {
		display: flex !important;
		justify-content: center;
		align-items: center;
		gap: 8px;
		margin-top: 16px;
		padding: 0 16px;
	}
	.prodware-tm__dots .prodware-dot {
		display: inline-block;
		width: 8px;
		height: 8px;
		background: #ccc;
		border-radius: 50px;
		opacity: 1;
		transition: all 0.3s ease;
		cursor: pointer;
	}
	.prodware-tm__dots .prodware-dot.is-active {
		width: 22px;
		background: var(--clr-blue);
	}
}
/* Hide testimonial dots on desktop (only show on mobile) */
.prodware-tm__dots { display: none; }

/* ==========================================================================
   v2.4.12 — Featured Case Study (.prodware-fcs)
   Banner-sized 1-up carousel for when you only have 1–3 featured items.
   ========================================================================== */
.prodware-fcs__inner {
	max-width: var(--container);
	margin: 0 auto;
	padding: 0 var(--gutter);
}
.prodware-fcs__carousel {
	position: relative;
	display: flex;
	align-items: center;
	gap: 12px;
}
.prodware-fcs__viewport {
	flex: 1 1 auto;
	min-width: 0;
	overflow: hidden;
}
.prodware-fcs__track {
	display: flex;
	transition: transform .4s ease;
	will-change: transform;
}
.prodware-fcs__slide {
	flex: 0 0 100%;
	min-width: 0;
}
.prodware-fcs__card {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 32px;
	align-items: center;
	background: #FFFFFF;
	border: 1px solid rgba(226, 232, 240, 0.6);
	border-radius: 18px;
	box-shadow: 0 10px 28px rgba(19, 30, 66, 0.06);
	padding: 24px;
}
.prodware-fcs--img-right .prodware-fcs__card {
	grid-template-areas: "content image";
}
.prodware-fcs--img-right .prodware-fcs__img      { grid-area: image; }
.prodware-fcs--img-right .prodware-fcs__content  { grid-area: content; }

.prodware-fcs__img {
	width: 100%;
	height: 340px;
	background-size: cover;
	background-position: center;
	background-color: #EEF0F3;
	border-radius: 14px;
}
.prodware-fcs__content {
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: 8px 16px;
	min-width: 0;
}
.prodware-fcs__tag {
	display: inline-block;
	align-self: flex-start;
	padding: 6px 14px;
	border-radius: 50px;
	background: #EEF0F3;
	color: var(--clr-text);
	font-family: 'Poppins', sans-serif;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.4;
}
.prodware-fcs__title {
	margin: 0;
	font-family: 'Poppins', sans-serif;
	font-weight: 600;
	font-size: 28px;
	line-height: 1.25;
	color: var(--clr-text);
}
.prodware-fcs__body {
	margin: 0;
	font-family: 'Poppins', sans-serif;
	font-size: 14px;
	line-height: 1.6;
	color: var(--clr-body);
}
.prodware-fcs__actions { margin-top: 6px; }

/* Arrows — match other carousels (span-based, themed reset) */
.prodware-fcs__arrow {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex: 0 0 auto !important;
	box-sizing: border-box !important;
	width: 40px !important;
	height: 40px !important;
	padding: 0 !important;
	margin: 0 !important;
	background: transparent !important;
	background-image: none !important;
	border: 1.5px solid var(--clr-border) !important;
	border-radius: 50% !important;
	box-shadow: none !important;
	color: var(--clr-text) !important;
	cursor: pointer;
	user-select: none;
	transition: background .2s, border-color .2s, color .2s, opacity .2s;
	font-size: 22px !important;
	line-height: 1 !important;
}
.prodware-fcs__arrow:hover {
	background: var(--clr-blue) !important;
	border-color: var(--clr-blue) !important;
	color: #fff !important;
}
.prodware-fcs__arrow.is-disabled { opacity: 0.3; pointer-events: none; }
.prodware-fcs__arrow svg,
.prodware-fcs__arrow i {
	font-size: inherit !important;
	width: 1em;
	height: 1em;
	color: inherit;
	fill: currentColor;
}

/* Dots — same shared dot style */
.prodware-fcs__dots {
	display: flex !important;
	justify-content: center !important;
	align-items: center;
	gap: 8px;
	margin-top: 20px;
	width: 100%;
}
.prodware-fcs__dots .prodware-dot {
	display: inline-block !important;
	width: 8px !important;
	height: 8px !important;
	background: #ccc !important;
	border: none !important;
	border-radius: 50px !important;
	opacity: 1 !important;
	cursor: pointer;
	transition: all 0.3s ease;
	padding: 0 !important;
	margin: 0 !important;
}
.prodware-fcs__dots .prodware-dot.is-active {
	width: 22px !important;
	background: var(--clr-blue) !important;
}

/* Responsive */
@media (max-width: 1024px) {
	.prodware-fcs__card {
		gap: 20px;
		padding: 20px;
	}
	.prodware-fcs__img { height: 300px; }
	.prodware-fcs__title { font-size: 24px; }
}
@media (max-width: 767px) {
	.prodware-fcs__inner { padding: 0 16px; }
	.prodware-fcs__card,
	.prodware-fcs--img-right .prodware-fcs__card {
		grid-template-columns: 1fr;
		grid-template-areas: "image" "content";
		gap: 16px;
		padding: 16px;
	}
	.prodware-fcs__img { height: 220px; }
	.prodware-fcs__content { padding: 0 4px; }
	.prodware-fcs__title { font-size: 20px; }
	.prodware-fcs__arrow { display: none !important; }
}

/* ==========================================================================
   v2.5.2 — Image Gallery (.prodware-gal)
   Scrollable horizontal carousel of images. Shares the unified carousel
   JS (initPodCarousel with prefix "prodware-gal"), so the markup contract
   matches the other carousels: viewport > track > slides + arrows + dots.
   ========================================================================== */
.prodware-gal {
	padding: var(--space-xl) 0;
	font-family: 'Poppins', sans-serif;
	--prodware-gal-gap: 16px;
}
.prodware-gal__inner {
	max-width: var(--container);
	margin: 0 auto;
	padding: 0 var(--gutter);
}
.prodware-gal__carousel {
	position: relative;
	display: flex;
	align-items: center;
	gap: 12px;
}
.prodware-gal__viewport {
	flex: 1 1 auto;
	min-width: 0;
	overflow: hidden;
}
.prodware-gal__track {
	display: flex;
	gap: var(--prodware-gal-gap);
	transition: transform .45s cubic-bezier(0.22, 1, 0.36, 1);
	will-change: transform;
}

/* Slide width respects the per-view CSS vars set inline by initPodCarousel */
.prodware-gal__slide {
	flex: 0 0 calc((100% - (var(--prodware-gal-gap) * (var(--prodware-plc-per, 3) - 1))) / var(--prodware-plc-per, 3));
	min-width: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	position: relative;
}

.prodware-gal__link {
	display: block;
	overflow: hidden;
	border-radius: inherit;
}

/* The image: full slide width, aspect ratio controlled via inline rule */
.prodware-gal__img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 12px;
	background-color: var(--clr-bgGray);
	transition: transform .4s ease, box-shadow .3s ease, filter .3s ease;
}

/* Hover effects (opt-in via .prodware-gal--hover-… prefix class) */
.prodware-gal--hover-zoom .prodware-gal__link:hover .prodware-gal__img    { transform: scale(1.06); }
.prodware-gal--hover-lift .prodware-gal__slide:hover .prodware-gal__img   { transform: translateY(-4px); box-shadow: 0 14px 32px rgba(19, 30, 66, 0.14); }
.prodware-gal--hover-overlay .prodware-gal__link:hover .prodware-gal__img { filter: brightness(0.75); }
.prodware-gal--hover-overlay .prodware-gal__link { position: relative; }
.prodware-gal--hover-overlay .prodware-gal__link::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(19, 30, 66, 0.35), transparent 60%);
	border-radius: inherit;
	opacity: 0;
	transition: opacity .3s ease;
	pointer-events: none;
}
.prodware-gal--hover-overlay .prodware-gal__link:hover::after { opacity: 1; }

/* Caption — below by default */
.prodware-gal__caption {
	margin: 12px 4px 0;
	font-size: 14px;
	line-height: 1.45;
	color: var(--clr-text);
}

/* Caption position: overlay (sits at the bottom of the image) */
.prodware-gal--cappos-overlay .prodware-gal__slide { position: relative; overflow: hidden; border-radius: 12px; }
.prodware-gal--cappos-overlay .prodware-gal__link  { border-radius: 0; }
.prodware-gal--cappos-overlay .prodware-gal__img   { border-radius: 0; }
.prodware-gal--cappos-overlay .prodware-gal__caption {
	position: absolute;
	left: 0; right: 0; bottom: 0;
	margin: 0;
	padding: 14px 16px;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.65) 0%, rgba(0, 0, 0, 0) 100%);
	color: #fff;
	font-size: 13.5px;
	transform: translateY(0);
}

/* Hide captions globally when toggled off */
.prodware-gal--cap- .prodware-gal__caption { display: none; }

/* Arrows — same chrome as other Prodware carousels */
.prodware-gal__arrow {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex: 0 0 auto !important;
	box-sizing: border-box !important;
	width: 40px !important;
	height: 40px !important;
	padding: 0 !important;
	margin: 0 !important;
	background: transparent !important;
	background-image: none !important;
	border: 1.5px solid var(--clr-border) !important;
	border-radius: 50% !important;
	box-shadow: none !important;
	color: var(--clr-text) !important;
	cursor: pointer;
	user-select: none;
	transition: background .2s, border-color .2s, color .2s, opacity .2s;
	font-size: 22px !important;
	line-height: 1 !important;
}
.prodware-gal__arrow:hover {
	background: var(--clr-blue) !important;
	border-color: var(--clr-blue) !important;
	color: #fff !important;
}
.prodware-gal__arrow.is-disabled { opacity: 0.3; pointer-events: none; }
.prodware-gal__arrow svg,
.prodware-gal__arrow i {
	font-size: inherit !important;
	width: 1em;
	height: 1em;
	color: inherit;
	fill: currentColor;
}

/* Dots — shared style */
.prodware-gal__dots {
	display: flex !important;
	justify-content: center !important;
	align-items: center;
	gap: 8px;
	margin-top: 20px;
	width: 100%;
}
.prodware-gal__dots .prodware-dot {
	display: inline-block !important;
	width: 8px !important;
	height: 8px !important;
	background: #ccc !important;
	border: none !important;
	border-radius: 50px !important;
	opacity: 1 !important;
	cursor: pointer;
	transition: all 0.3s ease;
	padding: 0 !important;
	margin: 0 !important;
}
.prodware-gal__dots .prodware-dot.is-active {
	width: 22px !important;
	background: var(--clr-blue) !important;
}

/* Responsive */
@media (max-width: 1024px) {
	.prodware-gal__slide {
		flex-basis: calc((100% - (var(--prodware-gal-gap) * (var(--prodware-plc-per-tab, 2) - 1))) / var(--prodware-plc-per-tab, 2));
	}
}
@media (max-width: 767px) {
	.prodware-gal__slide {
		flex-basis: calc((100% - (var(--prodware-gal-gap) * (var(--prodware-plc-per-mob, 1) - 1))) / var(--prodware-plc-per-mob, 1));
	}
	.prodware-gal__arrow { display: none !important; }
}

/* ==========================================================================
   Gallery lightbox overlay
   ========================================================================== */
body.prodware-gal-lb-locked { overflow: hidden; }
.prodware-gal-lb {
	position: fixed;
	inset: 0;
	background: rgba(13, 18, 38, 0.92);
	display: none;
	z-index: 9999;
	padding: 24px;
	align-items: center;
	justify-content: center;
	animation: prodwareGalLbFade 0.2s ease both;
}
.prodware-gal-lb.is-open { display: flex; }
@keyframes prodwareGalLbFade { from { opacity: 0; } to { opacity: 1; } }

.prodware-gal-lb__stage {
	max-width: min(1200px, 90vw);
	max-height: 88vh;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
}
.prodware-gal-lb__img {
	max-width: 100%;
	max-height: 80vh;
	width: auto;
	height: auto;
	border-radius: 8px;
	box-shadow: 0 30px 80px rgba(0, 0, 0, 0.45);
	display: block;
	background: #fff;
}
.prodware-gal-lb__caption {
	color: #fff;
	font-family: 'Poppins', sans-serif;
	font-size: 15px;
	line-height: 1.5;
	text-align: center;
	max-width: 720px;
}

.prodware-gal-lb__close,
.prodware-gal-lb__nav {
	position: absolute;
	background: rgba(255, 255, 255, 0.1);
	color: #fff;
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 50%;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: background 0.2s ease, transform 0.15s ease;
	font-family: 'Poppins', sans-serif;
}
.prodware-gal-lb__close:hover,
.prodware-gal-lb__nav:hover {
	background: rgba(255, 255, 255, 0.2);
}
.prodware-gal-lb__close {
	top: 20px;
	right: 20px;
	width: 44px;
	height: 44px;
	font-size: 28px;
	line-height: 1;
}
.prodware-gal-lb__nav {
	top: 50%;
	transform: translateY(-50%);
	width: 52px;
	height: 52px;
	font-size: 22px;
}
.prodware-gal-lb__nav--prev { left: 24px; }
.prodware-gal-lb__nav--next { right: 24px; }
.prodware-gal-lb__nav:active { transform: translateY(-50%) scale(0.95); }

@media (max-width: 767px) {
	.prodware-gal-lb { padding: 12px; }
	.prodware-gal-lb__close { width: 36px; height: 36px; font-size: 22px; top: 12px; right: 12px; }
	.prodware-gal-lb__nav   { width: 40px; height: 40px; font-size: 18px; }
	.prodware-gal-lb__nav--prev { left: 8px; }
	.prodware-gal-lb__nav--next { right: 8px; }
}

@media (prefers-reduced-motion: reduce) {
	.prodware-gal__img,
	.prodware-gal__track,
	.prodware-gal-lb { transition: none !important; animation: none !important; }
}

/* ==========================================================================
   v2.5.3 — Contact Form: select + radio_group + subtitle (CD integration)
   ========================================================================== */

.prodware-form__field--select select {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' stroke='white' stroke-width='1.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>");
	background-repeat: no-repeat;
	background-position: right 22px center;
	background-size: 12px 8px;
	padding-right: 48px;
	cursor: pointer;
}
.prodware-form__field--select select option {
	background-color: #131E42;
	color: #FFFFFF;
}

.prodware-form__radiogroup {
	border: 0;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.prodware-form__radiogroup .prodware-form__label,
.prodware-form__radiogroup legend.prodware-form__label {
	position: static !important;
	clip: auto;
	clip-path: none;
	width: auto;
	height: auto;
	overflow: visible;
	white-space: normal;
	display: block;
	color: #FFFFFF;
	font-family: 'Poppins', sans-serif;
	font-size: 13px;
	margin-bottom: 6px;
}
.prodware-form__radio {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	color: #FFFFFF;
	font-family: 'Poppins', sans-serif;
	font-size: 13px;
	line-height: 1.5;
	cursor: pointer;
}
.prodware-form__radio input[type="radio"] {
	margin: 2px 0 0;
	width: 16px;
	height: 16px;
	flex: 0 0 16px;
	accent-color: var(--clr-blue);
	cursor: pointer;
}

.prodware-form__consent input[type="radio"] {
	margin: 2px 0 0;
	width: 16px;
	height: 16px;
	flex: 0 0 16px;
	accent-color: var(--clr-blue);
	cursor: pointer;
}

.prodware-form__subtitle {
	display: block;
	margin: 8px 0 4px;
	color: #FFFFFF;
	font-family: 'Poppins', sans-serif;
	font-size: 13px;
	font-weight: 500;
}

.prodware-form .g-recaptcha {
	margin-top: 8px;
}

.prodware-form input[name="zipcode"] {
	position: absolute !important;
	left: -9999px !important;
	width: 1px !important;
	height: 1px !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

/* ==========================================================================
   v2.5.4 — Download Success (.prodware-dls)
   Thank-you page block: headline + dynamic resource title + download button.
   ========================================================================== */
.prodware-dls {
	max-width: 720px;
	margin: 32px auto;
	padding: 48px;
	background: #F0F2F7;
	border-radius: 16px;
	text-align: center;
	font-family: 'Poppins', sans-serif;
}
.prodware-dls__headline {
	margin: 0 0 12px;
	color: #131E42;
	font-size: 28px;
	line-height: 1.3;
	font-weight: 700;
}
.prodware-dls__resource {
	margin: 0 0 18px;
	color: #456BFF;
	font-size: 16px;
	line-height: 1.45;
}
.prodware-dls__resource-prefix {
	display: inline;
	margin-right: 6px;
	font-weight: 400;
	color: inherit;
	opacity: 0.85;
}
.prodware-dls__desc {
	margin: 0 0 24px;
	color: #525A78;
	font-size: 15px;
	line-height: 1.55;
}
.prodware-dls__action {
	display: flex;
	justify-content: center;
}
.prodware-dls__empty {
	margin: 0;
	padding: 12px 16px;
	background: rgba(19, 30, 66, 0.04);
	border-radius: 8px;
	color: #525A78;
	font-size: 14px;
}

@media (max-width: 767px) {
	.prodware-dls { padding: 32px 20px; margin: 20px 12px; }
	.prodware-dls__headline { font-size: 22px; }
}

/* ==========================================================================
   v2.5.5 — Taxonomy Filter (.prodware-tf)
   Filter widget that talks to Elementor Pro's Loop Grid via Query ID.
   Three layouts: dropdowns row, multi-column pill grid, single pill row.
   ========================================================================== */
.prodware-tf {
	font-family: 'Poppins', sans-serif;
	background: #FFFFFF;
	border: 1px solid #E2E8F0;
	border-radius: 16px;
	padding: 16px 20px;
	box-shadow: 0 2px 8px rgba(19, 30, 66, 0.04);
	position: relative;
}
.prodware-tf.is-loading {
	pointer-events: none;
	opacity: 0.7;
}
.prodware-tf.is-loading::after {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: inherit;
	background: rgba(255, 255, 255, 0.4);
	pointer-events: none;
}

.prodware-tf__form {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
}
.prodware-tf__group {
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-width: 0;
}
.prodware-tf__label {
	font-size: 12px;
	font-weight: 600;
	color: #525A78;
	letter-spacing: 0.02em;
}

/* ---------- DROPDOWNS LAYOUT ---------- */
.prodware-tf--lay-dropdowns .prodware-tf__form {
	flex-wrap: nowrap;
	overflow-x: auto;
	scrollbar-width: thin;
}
.prodware-tf--lay-dropdowns .prodware-tf__group {
	flex: 1 1 0;
	min-width: 160px;
}
.prodware-tf--lay-dropdowns .prodware-tf__search {
	flex: 1.5 1 0;
	min-width: 220px;
}
.prodware-tf__select {
	width: 100%;
	padding: 10px 36px 10px 14px;
	border: 1px solid #E2E8F0;
	border-radius: 10px;
	background-color: #FFFFFF;
	color: #131E42;
	font-family: inherit;
	font-size: 14px;
	font-weight: 500;
	cursor: pointer;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%23131E42' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
	transition: border-color .2s ease, box-shadow .2s ease;
}
.prodware-tf__select:focus,
.prodware-tf__select:hover {
	border-color: #456BFF;
	outline: none;
	box-shadow: 0 0 0 3px rgba(69, 107, 255, 0.1);
}

/* ---------- SEARCH (shared) ---------- */
.prodware-tf__search {
	position: relative;
	display: flex;
	align-items: center;
	min-width: 240px;
}
.prodware-tf--lay-dropdowns .prodware-tf__search .prodware-tf__search-icon {
	left: 14px;
}
.prodware-tf__search-icon {
	position: absolute;
	left: 14px;
	top: 50%;
	transform: translateY(-50%);
	color: #525A78;
	pointer-events: none;
}
.prodware-tf__search input {
	width: 100%;
	padding: 11px 14px 11px 40px;
	border: 1px solid #E2E8F0;
	border-radius: 10px;
	font-family: inherit;
	font-size: 14px;
	color: #131E42;
	background: #FFFFFF;
	transition: border-color .2s ease, box-shadow .2s ease;
}
.prodware-tf__search input::placeholder { color: #889ABC; }
.prodware-tf__search input:focus {
	outline: none;
	border-color: #456BFF;
	box-shadow: 0 0 0 3px rgba(69, 107, 255, 0.1);
}

/* ---------- PILL ROW LAYOUT ---------- */
.prodware-tf--lay-pill_row .prodware-tf__form {
	gap: 8px;
}
.prodware-tf--lay-pill_row .prodware-tf__group {
	flex: 1 1 100%;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
}
.prodware-tf--lay-pill_row .prodware-tf__label { display: none; }
.prodware-tf--lay-pill_row .prodware-tf__pills {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

/* ---------- PILL GRID LAYOUT (multi-column) ---------- */
.prodware-tf--lay-pill_grid {
	background: linear-gradient(135deg, #4A6BFF 0%, #6E5BFF 100%);
	border: none;
	color: #FFFFFF;
}
.prodware-tf--lay-pill_grid .prodware-tf__form {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 32px 40px;
	align-items: start;
}
.prodware-tf--lay-pill_grid .prodware-tf__search {
	grid-column: 1 / -1;
}
.prodware-tf--lay-pill_grid .prodware-tf__search input {
	background: rgba(255, 255, 255, 0.16);
	border-color: rgba(255, 255, 255, 0.3);
	color: #FFFFFF;
}
.prodware-tf--lay-pill_grid .prodware-tf__search input::placeholder { color: rgba(255, 255, 255, 0.75); }
.prodware-tf--lay-pill_grid .prodware-tf__search-icon { color: rgba(255, 255, 255, 0.85); }
.prodware-tf--lay-pill_grid .prodware-tf__label {
	color: #FFFFFF;
	font-size: 22px;
	font-weight: 700;
	margin-bottom: 12px;
	letter-spacing: 0;
	text-transform: none;
}
.prodware-tf--lay-pill_grid .prodware-tf__pills {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.prodware-tf--lay-pill_grid .prodware-tf__pill {
	background: transparent;
	color: #FFFFFF;
	border-color: rgba(255, 255, 255, 0.65);
	text-transform: uppercase;
	font-size: 12px;
	letter-spacing: 0.06em;
}
.prodware-tf--lay-pill_grid .prodware-tf__pill:hover {
	background: rgba(255, 255, 255, 0.1);
	border-color: #FFFFFF;
}
.prodware-tf--lay-pill_grid .prodware-tf__pill.is-active {
	background: #FFFFFF;
	color: #456BFF;
	border-color: #FFFFFF;
}
.prodware-tf--lay-pill_grid .prodware-tf__apply {
	background: #FFFFFF;
	color: #456BFF;
	border-color: #FFFFFF;
}
.prodware-tf--lay-pill_grid .prodware-tf__reset {
	color: #FFFFFF;
}

/* ---------- PILL (shared) ---------- */
.prodware-tf__pill {
	display: inline-flex;
	align-items: center;
	padding: 8px 16px;
	background: #FFFFFF;
	border: 1px solid #D6DDF0;
	border-radius: 999px;
	color: #131E42;
	font-family: inherit;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.2;
	cursor: pointer;
	white-space: nowrap;
	transition: background .18s ease, border-color .18s ease, color .18s ease, transform .12s ease;
}
.prodware-tf__pill:hover {
	border-color: #456BFF;
	color: #456BFF;
}
.prodware-tf__pill:active { transform: scale(0.97); }
.prodware-tf__pill.is-active {
	background: #456BFF;
	border-color: #456BFF;
	color: #FFFFFF;
}

/* ---------- RESET LINK + APPLY BUTTON ---------- */
.prodware-tf__reset {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 4px;
	color: #456BFF;
	font-size: 14px;
	font-weight: 500;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	transition: opacity .2s ease;
}
.prodware-tf__reset:hover { opacity: 0.75; }

.prodware-tf__apply {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 10px 22px;
	background: #456BFF;
	color: #FFFFFF;
	border: 1px solid #456BFF;
	border-radius: 999px;
	font-family: inherit;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	white-space: nowrap;
	transition: background .2s ease;
}
.prodware-tf__apply:hover { background: #3552CC; }
.prodware-tf__count { font-weight: 700; }

/* ---------- RESPONSIVE ---------- */
@media (max-width: 1024px) {
	.prodware-tf--lay-dropdowns .prodware-tf__form {
		flex-wrap: wrap;
		overflow: visible;
	}
	.prodware-tf--lay-dropdowns .prodware-tf__group,
	.prodware-tf--lay-dropdowns .prodware-tf__search {
		flex-basis: calc(50% - 6px);
		min-width: 0;
	}
}
@media (max-width: 640px) {
	.prodware-tf { padding: 14px; }
	.prodware-tf__form { gap: 10px; }
	.prodware-tf--lay-dropdowns .prodware-tf__group,
	.prodware-tf--lay-dropdowns .prodware-tf__search {
		flex-basis: 100%;
	}
	.prodware-tf--lay-pill_grid .prodware-tf__form {
		grid-template-columns: 1fr;
		gap: 24px;
	}
	.prodware-tf--lay-pill_grid .prodware-tf__label { font-size: 18px; }
	.prodware-tf__pill { font-size: 12px; padding: 7px 13px; }
}

/* ==========================================================================
   v2.7.0 — Footer (.prodware-footer)
   ========================================================================== */
.prodware-footer {
	background: #F5F7FB;
	padding: 56px 40px 40px;
	font-family: 'Poppins', sans-serif;
}
.prodware-footer__inner {
	max-width: var(--container, 1200px);
	margin: 0 auto;
	display: grid;
	grid-template-columns: minmax(220px, 1fr) 3fr;
	gap: 48px;
	align-items: start;
}
.prodware-footer__brand { min-width: 0; }
.prodware-footer__logo { display: inline-block; }
.prodware-footer__logo img { display: block; width: 170px; height: auto; }
.prodware-footer__desc {
	margin: 20px 0 0;
	font-size: 14px;
	line-height: 1.6;
	color: #3A4256;
	max-width: 280px;
}
.prodware-footer__social {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 22px;
}
.prodware-footer__social a {
	width: 38px;
	height: 38px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #456BFF;
	color: #fff;
	font-size: 15px;
	text-decoration: none;
	transition: transform .2s ease, opacity .2s ease;
}
.prodware-footer__social a:hover { transform: translateY(-2px); opacity: .9; }
.prodware-footer__social a svg { width: 1em; height: 1em; fill: currentColor; }
.prodware-footer__social a i { color: inherit; }

.prodware-footer__cols {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 40px;
}
.prodware-footer__col { min-width: 0; }
.prodware-footer__heading {
	display: block;
	font-size: 16px;
	font-weight: 700;
	color: #131E42;
	margin-bottom: 18px;
}
.prodware-footer__links { list-style: none; margin: 0; padding: 0; }
.prodware-footer__links li { margin: 0 0 12px; }
.prodware-footer__links a {
	color: #3A4256;
	text-decoration: none;
	font-size: 14px;
	line-height: 1.4;
	transition: color .15s ease;
}
.prodware-footer__links a:hover { color: #456BFF; }

.prodware-footer__bottom {
	max-width: var(--container, 1200px);
	margin: 40px auto 0;
	padding-top: 20px;
	border-top: 1px solid rgba(19, 30, 66, 0.10);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 24px;
}
.prodware-footer__copy { font-size: 13px; color: #6B7385; }
.prodware-footer__legal {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px 22px;
}
.prodware-footer__legal a {
	font-size: 13px;
	color: #6B7385;
	text-decoration: none;
	transition: color .15s ease;
}
.prodware-footer__legal a:hover { color: #456BFF; }
@media (max-width: 768px) {
	.prodware-footer__bottom { flex-direction: column; align-items: flex-start; }
}

@media (max-width: 1024px) {
	.prodware-footer__inner { grid-template-columns: 1fr; gap: 36px; }
	.prodware-footer__desc { max-width: none; }
}
@media (max-width: 600px) {
	.prodware-footer__cols { grid-template-columns: repeat(2, 1fr); gap: 28px; }
}
@media (max-width: 380px) {
	.prodware-footer__cols { grid-template-columns: 1fr; }
}
