/*
Theme Name:   Hello Elementor Child
Theme URI:
Description:  Hello Elementor Child Theme — Components Page system for FIZE Medical.
Author:
Author URI:
Template:     hello-elementor
Version:      1.0.0
License:      GNU General Public License v2 or later
License URI:  https://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  hello-elementor-child
*/

/* ==========================================================================
   PHP Fallback Components — Base Styles
   Synced with Elementor global design tokens (blues / purples palette).
   All classes prefixed with .fize- to avoid conflicts with Elementor.
   ========================================================================== */

/* Design tokens — mirrors Elementor global colours */
:root {
	--fize-primary:    #0061F9;   /* --e-global-color-primary */
	--fize-secondary:  #4D44A5;   /* --e-global-color-secondary */
	--fize-dark:       #282F78;   /* --e-global-color-b648618  */
	--fize-blue:       #045CED;   /* --e-global-color-7954e1e  */
	--fize-mid:        #194FA7;   /* --e-global-color-03e4922  */
	--fize-lavender:   #F3EFFF;   /* --e-global-color-4f38c9b  */
	--fize-light-blue: #EFF3FF;   /* --e-global-color-f68ee64  */
	--fize-light-bg:   #F4F6FA;   /* --e-global-color-a6148f3  */
	--fize-text:       #12141B;   /* --e-global-color-text     */
	--fize-white:      #ffffff;
}

/* --------------------------------------------------------------------------
   CSS custom-property backgrounds (output by bg_echo() helper)
   bg() outputs: style="--bg-desktop:url(...);--bg-mobile:url(...);"
   -------------------------------------------------------------------------- */

.fize-section[style*="--bg-desktop"],
.fize-wrap[style*="--bg-desktop"] {
	background-image: var(--bg-desktop);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

@media (max-width: 768px) {
	.fize-section[style*="--bg-mobile"],
	.fize-wrap[style*="--bg-mobile"] {
		background-image: var(--bg-mobile);
	}
}

/* --------------------------------------------------------------------------
   Layout primitives
   -------------------------------------------------------------------------- */

.fize-section {
	position: relative;
	width: 100%;
	overflow: hidden;
	padding: 80px 0;
	box-sizing: border-box;
}

.fize-wrap {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 40px;
	box-sizing: border-box;
}

.fize-wrap.rounded {
	border-radius: 24px;
}

.fize-grid {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.fize-two-col {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 60px;
	align-items: center;
}

.fize-text-image-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 60px;
	align-items: center;
}

.fize-narrow-grid {
	max-width: 760px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.fize-center {
	text-align: center;
}

/* --------------------------------------------------------------------------
   Typography
   -------------------------------------------------------------------------- */

.fize-section .fize-title {
	font-size: clamp(28px, 3.5vw, 48px);
	font-weight: 700;
	color: #282F78;
	line-height: 1.2;
	margin: 0 0 8px;
}

.fize-section .fize-sub-title {
	font-size: clamp(16px, 2vw, 22px);
	font-weight: 500;
	color: #0061F9;
	margin: 0;
}

.fize-section .fize-main-title {
	font-size: clamp(18px, 2vw, 26px);
	font-weight: 600;
	color: #0061F9;
	text-align: center;
	margin: 0 0 32px;
}

.fize-section .fize-text {
	font-size: 16px;
	line-height: 1.7;
	color: #444;
}

.fize-section .fize-text p { margin: 0 0 12px; }

.fize-quote {
	font-size: clamp(20px, 2.5vw, 32px);
	font-weight: 700;
	color: #0061F9;
	font-style: italic;
}

/* --------------------------------------------------------------------------
   Button
   -------------------------------------------------------------------------- */

.fize-btn {
	display: inline-block;
	padding: 12px 32px;
	border-radius: 0 20px;
	background-color: #0061F9;
	color: #fff;
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease;
	border: 2px solid #0061F9;
}

.fize-btn:hover {
	background-color: transparent;
	color: #0061F9;
}

.fize-btn--outline {
	background-color: transparent;
	color: #0061F9;
}

.fize-btn--outline:hover {
	background-color: #0061F9;
	color: #fff;
}

.fize-btn--blue {
	background-color: #282F78;
	border-color: #282F78;
}

.fize-btn--blue:hover {
	background-color: transparent;
	color: #282F78;
}

.fize-btn--sm {
	padding: 8px 20px;
	font-size: 13px;
}

.fize-btn-wrap {
	margin-top: 8px;
}

.fize-btn-group {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 16px;
}

.fize-link {
	color: #0061F9;
	font-weight: 600;
	text-decoration: none;
}

.fize-link:hover { text-decoration: underline; }

/* --------------------------------------------------------------------------
   Hero sections (home-hero, general-inner-hero, technology-hero)
   -------------------------------------------------------------------------- */

.fize-section.home-hero,
.fize-section.technology-hero {
	background: linear-gradient(135deg, #EFF3FF 0%, #F3EFFF 100%);
	min-height: 520px;
	display: flex;
	align-items: center;
}

.fize-section.general-inner-hero {
	background: linear-gradient(135deg, #282F78 0%, #045CED 100%);
	padding: 60px 0;
	text-align: center;
}

.fize-section.general-inner-hero .fize-title {
	color: #fff;
}

.fize-section.resources-hero {
	background: linear-gradient(135deg, #282F78 0%, #045CED 100%);
	padding: 80px 0;
}

.fize-section.resources-hero .fize-title,
.fize-section.resources-hero .fize-sub-title,
.fize-section.resources-hero .fize-text {
	color: #fff;
}

.fize-hero-media {
	position: absolute;
	right: 0;
	top: 0;
	height: 100%;
	width: 50%;
	overflow: hidden;
	margin: 0;
}

.fize-hero-media video,
.fize-hero-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* --------------------------------------------------------------------------
   Icon list (about-hero, about-values, urology-hero)
   -------------------------------------------------------------------------- */

.fize-icon-list {
	display: flex;
	flex-wrap: wrap;
	gap: 32px;
}

.fize-icon-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 12px;
	flex: 1 1 160px;
}

.fize-icon img {
	width: 56px;
	height: 56px;
	object-fit: contain;
}

.fize-icon-text,
.fize-icon-label {
	font-size: 14px;
	font-weight: 600;
	color: #282F78;
	margin: 0;
}

/* --------------------------------------------------------------------------
   Team (about-team)
   -------------------------------------------------------------------------- */

.fize-tabs-nav {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.fize-tab-btns {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.fize-tab-btn {
	padding: 8px 20px;
	border-radius: 0 16px;
	background: transparent;
	border: 2px solid #0061F9;
	color: #0061F9;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	transition: all 0.2s;
}

.fize-tab-btn.active,
.fize-tab-btn:hover {
	background: #0061F9;
	color: #fff;
}

.fize-team-list {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
}

.fize-team-item {
	flex: 0 1 160px;
	text-align: center;
	position: relative;
}

.fize-team-img {
	position: relative;
	display: inline-block;
	border-radius: 50%;
	overflow: hidden;
	width: 120px;
	height: 120px;
	margin: 0 auto 12px;
}

.fize-team-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.fize-team-name {
	font-weight: 700;
	font-size: 15px;
	color: #282F78;
}

.fize-team-job {
	font-size: 13px;
	color: #666;
}

.fize-linkedin {
	position: absolute;
	bottom: 4px;
	right: 4px;
	width: 24px;
	height: 24px;
	background: #0077b5 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M19 3H5a2 2 0 00-2 2v14a2 2 0 002 2h14a2 2 0 002-2V5a2 2 0 00-2-2zM8 17H5.5v-7H8v7zm-1.3-8a1.4 1.4 0 110-2.8 1.4 1.4 0 010 2.8zM19 17h-2.5v-3.7c0-2-2.5-1.8-2.5 0V17H11.5v-7H14v1c1.1-2 5-2.2 5 2V17z'/%3E%3C/svg%3E") no-repeat center/16px;
	border-radius: 4px;
}

/* --------------------------------------------------------------------------
   Logo bar (about-logos)
   -------------------------------------------------------------------------- */

.fize-logo-list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 32px;
}

.fize-logo-item {
	flex: 0 1 140px;
	position: relative;
	margin: 0;
}

.fize-logo-item img {
	max-height: 60px;
	width: auto;
	object-fit: contain;
	filter: grayscale(100%);
	opacity: 0.7;
	transition: all 0.2s;
}

.fize-logo-item:hover img {
	filter: none;
	opacity: 1;
}

/* --------------------------------------------------------------------------
   Career list (about-career)
   -------------------------------------------------------------------------- */

.fize-career-list {
	display: flex;
	flex-direction: column;
	gap: 0;
	border-top: 1px solid #e0e8ee;
}

.fize-career-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 20px 0;
	border-bottom: 1px solid #e0e8ee;
}

.fize-career-title {
	font-size: 16px;
	font-weight: 600;
	color: #282F78;
	margin: 0;
}

/* --------------------------------------------------------------------------
   Stats / numbers (home-features)
   -------------------------------------------------------------------------- */

.fize-stats-wrap {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 60px;
	align-items: center;
}

.fize-stat-list {
	display: flex;
	flex-direction: column;
	gap: 32px;
}

.fize-stat-item {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.fize-stat-number {
	font-size: clamp(32px, 4vw, 56px);
	font-weight: 700;
	color: #0061F9;
	line-height: 1;
}

.fize-stat-pre,
.fize-stat-after {
	font-size: 0.6em;
}

.fize-stat-text {
	font-size: 14px;
	color: #666;
}

/* --------------------------------------------------------------------------
   Vision (home-our-vision)
   -------------------------------------------------------------------------- */

.fize-vision-list {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
}

.fize-vision-item {
	flex: 1 1 200px;
	padding: 24px;
	border-radius: 16px;
	background: #EFF3FF;
	cursor: pointer;
	transition: background 0.2s;
	text-align: center;
}

.fize-vision-item.active,
.fize-vision-item:hover {
	background: #0061F9;
	color: #fff;
}

.fize-vision-item.active .fize-vision-text,
.fize-vision-item:hover .fize-vision-text {
	color: #fff;
}

.fize-vision-icon img {
	width: 48px;
	height: 48px;
	object-fit: contain;
	margin-bottom: 12px;
}

.fize-vision-text {
	font-size: 14px;
	color: #444;
	margin: 0;
}

.fize-vision-list-title {
	font-size: 20px;
	font-weight: 600;
	color: #282F78;
	text-align: center;
	margin-top: 16px;
}

/* --------------------------------------------------------------------------
   Post cards (home-posts, general-new-posts)
   -------------------------------------------------------------------------- */

.fize-post-list,
.fize-news-list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 32px;
}

.fize-post-card,
.fize-news-item {
	position: relative;
	border-radius: 12px;
	overflow: hidden;
	background: #fff;
	box-shadow: 0 2px 16px rgba(40,47,120,0.08);
	transition: transform 0.2s, box-shadow 0.2s;
}

.fize-post-card:hover,
.fize-news-item:hover {
	transform: translateY(-4px);
	box-shadow: 0 8px 32px rgba(40,47,120,0.14);
}

.fize-post-thumb figure,
.fize-post-thumb {
	aspect-ratio: 16/9;
	overflow: hidden;
	margin: 0;
}

.fize-post-thumb img,
.fize-post-card img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.fize-post-info,
.fize-post-title,
.fize-news-title,
.fize-news-excerpt,
.fize-news-date {
	padding: 0 20px;
}

.fize-post-info { font-size: 12px; color: #888; padding-top: 16px; }
.fize-post-title { font-size: 16px; font-weight: 700; color: #282F78; padding-bottom: 16px; margin: 8px 0; }
.fize-post-link { position: absolute; inset: 0; }

.fize-news-title { font-size: 16px; font-weight: 700; color: #282F78; padding-top: 16px; margin: 0 0 8px; }
.fize-news-excerpt { font-size: 14px; color: #666; }
.fize-news-date { font-size: 12px; color: #888; padding-bottom: 16px; }
.fize-news-link { position: absolute; inset: 0; }

/* --------------------------------------------------------------------------
   Product (home-product)
   -------------------------------------------------------------------------- */

.fize-product-grid {
	grid-template-columns: 1fr 1fr;
	display: grid;
	gap: 60px;
	align-items: center;
}

.fize-product-img img,
.fize-product-img {
	width: 100%;
	border-radius: 16px;
	overflow: hidden;
}

.fize-product-logo img {
	max-height: 48px;
	width: auto;
	margin-bottom: 16px;
}

/* --------------------------------------------------------------------------
   Testimonials / recommendations (home-recommendations)
   -------------------------------------------------------------------------- */

.fize-testimonial-list {
	display: flex;
	flex-wrap: wrap;
	gap: 32px;
}

.fize-testimonial-item {
	flex: 1 1 300px;
	background: #fff;
	border-radius: 16px;
	padding: 32px;
	box-shadow: 0 2px 16px rgba(40,47,120,0.08);
}

.fize-testimonial-text {
	font-size: 15px;
	color: #444;
	line-height: 1.7;
	margin-bottom: 20px;
}

.fize-testimonial-img {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	overflow: hidden;
	margin: 0 0 10px;
}

.fize-testimonial-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.fize-testimonial-name {
	font-weight: 700;
	color: #282F78;
	font-size: 15px;
}

.fize-testimonial-job {
	font-size: 13px;
	color: #666;
}

/* --------------------------------------------------------------------------
   Experts (experts)
   -------------------------------------------------------------------------- */

.fize-expert-list {
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.fize-expert-item {
	background: #fff;
	border-radius: 16px;
	box-shadow: 0 2px 16px rgba(40,47,120,0.08);
	overflow: hidden;
}

.fize-expert-inner {
	display: grid;
	grid-template-columns: 220px 1fr;
	gap: 32px;
}

.fize-expert-img {
	position: relative;
	margin: 0;
}

.fize-expert-img img {
	width: 100%;
	height: 260px;
	object-fit: cover;
}

.fize-expert-img figcaption {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	background: rgba(40,47,120,0.85);
	color: #fff;
	padding: 12px 16px;
	font-size: 13px;
	line-height: 1.4;
}

.fize-expert-body {
	padding: 24px 24px 24px 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 16px;
}

.fize-expert-text {
	font-size: 14px;
	line-height: 1.7;
	color: #444;
}

.fize-expert-logo img {
	max-height: 40px;
	width: auto;
	object-fit: contain;
}

/* --------------------------------------------------------------------------
   Banner (experts-banner)
   -------------------------------------------------------------------------- */

.fize-section.experts-banner {
	background: linear-gradient(135deg, #282F78 0%, #045CED 100%);
}

.fize-banner-block {
	padding: 60px;
	text-align: center;
	border-radius: 16px;
}

.fize-banner-title {
	font-size: clamp(24px, 3vw, 40px);
	font-weight: 700;
	color: #fff;
	margin-bottom: 12px;
}

.fize-banner-subtitle {
	font-size: 16px;
	color: rgba(255,255,255,0.85);
	margin-bottom: 28px;
}

/* --------------------------------------------------------------------------
   General text / table (general-text)
   -------------------------------------------------------------------------- */

.fize-table {
	border-top: 2px solid #e0e8ee;
}

.fize-table-row {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	padding: 14px 0;
	border-bottom: 1px solid #e0e8ee;
	font-size: 14px;
	color: #444;
}

.fize-table-text {
	font-size: 13px;
	color: #888;
}

/* --------------------------------------------------------------------------
   FAQ (resources-faq)
   -------------------------------------------------------------------------- */

.fize-faq-list {
	display: flex;
	flex-direction: column;
	gap: 0;
	counter-reset: faq;
}

.fize-faq-item {
	border-bottom: 1px solid #e0e8ee;
}

.fize-faq-trigger {
	width: 100%;
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 20px 0;
	background: none;
	border: none;
	cursor: pointer;
	font-size: 16px;
	font-weight: 600;
	color: #282F78;
	text-align: left;
}

.fize-faq-num {
	font-size: 13px;
	font-weight: 700;
	color: #0061F9;
	min-width: 28px;
}

.fize-faq-icon {
	margin-left: auto;
	width: 20px;
	height: 20px;
	position: relative;
	flex-shrink: 0;
}

.fize-faq-icon::before,
.fize-faq-icon::after {
	content: '';
	position: absolute;
	background: #0061F9;
	border-radius: 2px;
}

.fize-faq-icon::before { width: 2px; height: 100%; left: 50%; top: 0; transform: translateX(-50%); transition: transform 0.2s; }
.fize-faq-icon::after  { height: 2px; width: 100%; top: 50%;  left: 0; transform: translateY(-50%); }

.fize-faq-trigger[aria-expanded="true"] .fize-faq-icon::before {
	transform: translateX(-50%) rotate(90deg);
}

.fize-faq-body {
	padding: 0 0 20px 44px;
	font-size: 15px;
	line-height: 1.7;
	color: #444;
}

/* --------------------------------------------------------------------------
   Downloads (resources-downloads)
   -------------------------------------------------------------------------- */

.fize-download-list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 24px;
}

.fize-download-item {
	background: #EFF3FF;
	border-radius: 12px;
	padding: 24px;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.fize-download-title {
	font-size: 15px;
	font-weight: 600;
	color: #282F78;
	margin: 0;
}

/* --------------------------------------------------------------------------
   Resources (resources-featured, resources-posts, resources-videos)
   -------------------------------------------------------------------------- */

.fize-resource-list,
.fize-video-list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 28px;
}

.fize-resource-item {
	background: #fff;
	border-radius: 12px;
	padding: 24px;
	box-shadow: 0 2px 12px rgba(40,47,120,0.07);
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.fize-resource-read-time,
.fize-resource-info {
	font-size: 12px;
	color: #888;
}

.fize-resource-title,
.fize-resource-details { margin: 0; }
.fize-resource-title { font-size: 16px; font-weight: 700; color: #282F78; }
.fize-resource-thumb { overflow: hidden; border-radius: 8px; margin: 0; }
.fize-resource-thumb img { width: 100%; height: 180px; object-fit: cover; }

.fize-video-item {
	display: block;
	text-decoration: none;
	border-radius: 12px;
	overflow: hidden;
	background: #fff;
	box-shadow: 0 2px 12px rgba(40,47,120,0.07);
	transition: transform 0.2s;
}

.fize-video-item:hover { transform: translateY(-4px); }

.fize-video-thumb { overflow: hidden; margin: 0; }
.fize-video-thumb img { width: 100%; height: 180px; object-fit: cover; }
.fize-video-title { padding: 16px; font-size: 15px; font-weight: 600; color: #282F78; margin: 0; }

/* --------------------------------------------------------------------------
   Technology text+image / general two-col
   -------------------------------------------------------------------------- */

.fize-bullet-list {
	padding-left: 20px;
	color: #444;
	line-height: 1.8;
}

.fize-bullet-list .fize-list-item { margin-bottom: 8px; }
.fize-comments { font-size: 13px; color: #888; }
.fize-image img { width: 100%; border-radius: 12px; }

/* --------------------------------------------------------------------------
   Technology features
   -------------------------------------------------------------------------- */

.fize-entry-text,
.fize-feature-list {
	display: flex;
	flex-direction: column;
	gap: 32px;
}

.fize-feature-item {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 32px;
	align-items: center;
	padding: 24px;
	background: #EFF3FF;
	border-radius: 12px;
}

.fize-feature-title { font-size: 18px; font-weight: 700; color: #282F78; margin: 0 0 8px; }
.fize-feature-text  { font-size: 14px; color: #444; line-height: 1.6; }
.fize-feature-img img { width: 120px; height: 120px; object-fit: contain; }
.fize-video-link { display: block; border-radius: 12px; overflow: hidden; }
.fize-video-link img { width: 100%; }

/* --------------------------------------------------------------------------
   Leadership (urology-leadership) & Experts
   -------------------------------------------------------------------------- */

.fize-leader-list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 32px;
}

.fize-leader-item {
	background: #fff;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 2px 12px rgba(40,47,120,0.07);
	position: relative;
}

.fize-leader-img { margin: 0; position: relative; }
.fize-leader-img img { width: 100%; height: 260px; object-fit: cover; }
.fize-leader-name { font-size: 16px; font-weight: 700; color: #282F78; padding: 20px 20px 4px; }
.fize-leader-job  { font-size: 13px; color: #0061F9; font-weight: 600; padding: 0 20px 8px; }
.fize-leader-text { font-size: 14px; color: #444; line-height: 1.6; padding: 0 20px 20px; }
.fize-leader-link { position: absolute; inset: 0; z-index: 1; }

/* --------------------------------------------------------------------------
   Coming soon (product-coming-soon)
   -------------------------------------------------------------------------- */

.fize-coming-list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 24px;
}

.fize-coming-item {
	padding: 28px;
	background: #EFF3FF;
	border-radius: 12px;
	border-top: 4px solid #0061F9;
}

.fize-coming-title { font-size: 17px; font-weight: 700; color: #282F78; margin: 0 0 10px; }
.fize-coming-text  { font-size: 14px; color: #555; line-height: 1.6; }

/* --------------------------------------------------------------------------
   Publications / tabs
   -------------------------------------------------------------------------- */

.fize-tab-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 8px;
}

.fize-pub-list {
	display: flex;
	flex-direction: column;
	gap: 0;
	border-top: 1px solid #e0e8ee;
}

.fize-pub-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 18px 0;
	border-bottom: 1px solid #e0e8ee;
}

.fize-pub-title { font-size: 15px; font-weight: 600; color: #282F78; margin: 0; flex: 1; }

/* --------------------------------------------------------------------------
   Blog posts
   -------------------------------------------------------------------------- */

.fize-blog-list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: 32px;
}

.fize-blog-item {
	background: #fff;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 2px 12px rgba(40,47,120,0.07);
	display: flex;
	flex-direction: column;
	transition: transform 0.2s;
}

.fize-blog-item:hover { transform: translateY(-4px); }
.fize-blog-thumb img  { width: 100%; height: 200px; object-fit: cover; }
.fize-blog-date       { font-size: 12px; color: #888; padding: 14px 20px 0; }
.fize-blog-title      { font-size: 16px; font-weight: 700; color: #282F78; padding: 8px 20px; margin: 0; }
.fize-blog-excerpt    { font-size: 14px; color: #555; line-height: 1.6; padding: 0 20px; flex: 1; }
.fize-blog-item .fize-link { padding: 12px 20px 20px; display: block; }

/* --------------------------------------------------------------------------
   Case studies
   -------------------------------------------------------------------------- */

.fize-slider {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
	justify-content: center;
}

.fize-slider-item { flex: 0 1 180px; }
.fize-slider-item img { width: 100%; height: 100px; object-fit: contain; }

.fize-gallery {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 16px;
	margin-top: 24px;
}

.fize-gallery-item { border-radius: 8px; overflow: hidden; margin: 0; }
.fize-gallery-item img { width: 100%; height: 180px; object-fit: cover; }

.fize-text-wrap { display: flex; flex-direction: column; gap: 20px; }
.fize-text-block { padding: 24px; background: #EFF3FF; border-radius: 12px; border-left: 4px solid #0061F9; }

/* --------------------------------------------------------------------------
   Demo form
   -------------------------------------------------------------------------- */

.fize-section.demo-form {
	background: #f5f1fb;
	padding: 100px 0;
}

/* Card wraps both columns — white box with brand border-radius */
.fize-demo-card {
	background: #fff;
	border-radius: 0 20px;
	padding: 60px;
	box-shadow: 0 4px 40px rgba(40,47,120,0.08);
}

/* Two-col variant: title on left, form on right */
.fize-demo-card.fize-two-col {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 60px;
	align-items: start;
}

/* Form-only variant: centre the HubSpot form */
.fize-section.demo-form--form-only .fize-demo-card {
	max-width: 560px;
	margin: 0 auto;
}

.fize-section.demo-form .fize-title {
	color: #282F78;
	font-size: clamp(24px, 3vw, 40px);
	margin-bottom: 16px;
}

.fize-section.demo-form .fize-text,
.fize-section.demo-form .fize-text * {
	color: #12141B;
}

.fize-form-col {
	background: transparent;
}

/* --------------------------------------------------------------------------
   About hero / values with bg
   -------------------------------------------------------------------------- */

.fize-section.about-hero,
.fize-section.urology-hero {
	background: linear-gradient(135deg, #EFF3FF 0%, #F3EFFF 100%);
}

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */

@media (max-width: 900px) {
	.fize-two-col,
	.fize-text-image-grid,
	.fize-product-grid,
	.fize-stats-wrap,
	.fize-expert-inner {
		grid-template-columns: 1fr;
	}

	.fize-hero-media {
		position: relative;
		width: 100%;
		height: 300px;
	}

	.fize-section { padding: 48px 0; }
	.fize-wrap    { padding: 0 20px; }
	.fize-banner-block { padding: 32px 20px; }
}

@media (max-width: 600px) {
	.fize-post-list,
	.fize-news-list,
	.fize-resource-list,
	.fize-video-list,
	.fize-leader-list,
	.fize-blog-list,
	.fize-coming-list,
	.fize-download-list {
		grid-template-columns: 1fr;
	}

	.fize-table-row {
		grid-template-columns: 1fr;
		gap: 4px;
	}
}

/* --------------------------------------------------------------------------
   Hero media z-index / layering
   home-hero and technology-hero have an abs-positioned media panel.
   The .fize-wrap content must sit above it.
   -------------------------------------------------------------------------- */

.fize-section.home-hero .fize-wrap,
.fize-section.technology-hero .fize-wrap {
	position: relative;
	z-index: 2;
}

.fize-section.home-hero,
.fize-section.technology-hero {
	min-height: 560px;
	display: flex;
	align-items: stretch;
}

/* --------------------------------------------------------------------------
   Hide broken / empty img tags produced by img() when field is empty
   -------------------------------------------------------------------------- */

.fize-section img[src=""],
.fize-section img:not([src]) {
	display: none;
}

/* --------------------------------------------------------------------------
   Career list item — ensure link covers the whole row
   -------------------------------------------------------------------------- */

.fize-career-item {
	position: relative;
}

.fize-career-item .fize-link::after {
	content: '';
	position: absolute;
	inset: 0;
}

/* --------------------------------------------------------------------------
   Tabs nav — shared across about-team, publications, blog
   -------------------------------------------------------------------------- */

.fize-tab-btns,
.fize-tab-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

/* --------------------------------------------------------------------------
   Home recommendations — stacked cards with a subtle left border accent
   (replaces carousel for fallback)
   -------------------------------------------------------------------------- */

.fize-section.home-recommendations .fize-testimonial-list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
}

.fize-section.home-recommendations .fize-testimonial-item {
	border-left: 4px solid #0061F9;
}

/* --------------------------------------------------------------------------
   components-page <main> reset — remove any Hello Elementor margin/padding
   -------------------------------------------------------------------------- */

.site-main.components-page {
	margin: 0;
	padding: 0;
}

/* --------------------------------------------------------------------------
   Anchor jump targets — offset for sticky header (adjust --header-h as needed)
   -------------------------------------------------------------------------- */

a[id^="s-"] {
	display: block;
	position: relative;
	top: -80px;
	visibility: hidden;
	pointer-events: none;
}
