/* Apex Elementor Addons — shared widget styles */
.apex-icon-box, .apex-flip-box, .apex-testimonial, .apex-team-member,
.apex-pricing-card, .apex-cta, .apex-banner { box-sizing: border-box; }

.apex-btn{ display:inline-flex; align-items:center; justify-content:center; font-weight:600; padding:12px 26px; border-radius:999px; text-decoration:none; }
.apex-btn-white{ background:#fff; color:#0b1f3a; }

/* Icon Box */
.apex-icon-box{ display:block; text-align:center; transition: transform .2s ease; }
.apex-icon-position-left{ display:flex; align-items:flex-start; gap:16px; text-align:left; }
.apex-icon-box-icon{ font-size:40px; margin-bottom:14px; line-height:1; }
.apex-icon-position-left .apex-icon-box-icon{ margin-bottom:0; }
.apex-icon-box-title{ margin:0 0 8px; font-size:1.15rem; }
.apex-icon-box-description{ margin:0; }

/* Pricing Table */
.apex-pricing-card{ position:relative; background:#fff; border:1px solid #e7e9f0; border-radius:16px; padding:36px 28px; text-align:center; }
.apex-pricing-featured{ box-shadow:0 20px 45px -20px rgba(11,31,58,.25); transform:scale(1.02); }
.apex-pricing-badge{ position:absolute; top:-14px; left:50%; transform:translateX(-50%); color:#fff; font-size:.75rem; font-weight:700; padding:6px 16px; border-radius:999px; }
.apex-pricing-amount{ font-size:2.2rem; font-weight:800; margin:10px 0 20px; }
.apex-pricing-period{ font-size:.9rem; font-weight:500; opacity:.65; }
.apex-pricing-features{ list-style:none; margin:0 0 24px; padding:0; text-align:left; }
.apex-pricing-features li{ padding:8px 0; border-bottom:1px dashed #e7e9f0; }
.apex-pricing-btn{ display:inline-block; width:100%; text-align:center; color:#fff; font-weight:600; padding:12px 20px; border-radius:999px; border:2px solid; text-decoration:none; }

/* Counter */
.apex-counter{ text-align:center; }
.apex-counter-number{ font-size:2.6rem; font-weight:800; line-height:1; }
.apex-counter-title{ margin-top:8px; font-weight:500; }

/* Testimonial */
.apex-testimonial{ background:#fff; border:1px solid #e7e9f0; border-radius:16px; padding:28px; }
.apex-testimonial-stars{ margin-bottom:12px; letter-spacing:2px; }
.apex-testimonial-content{ margin:0 0 18px; }
.apex-testimonial-author{ display:flex; align-items:center; gap:12px; }
.apex-testimonial-avatar{ width:48px; height:48px; border-radius:50%; object-fit:cover; }
.apex-testimonial-name{ font-weight:700; }
.apex-testimonial-role{ font-size:.85rem; opacity:.65; }

/* Team Member */
.apex-team-member{ text-align:center; }
.apex-team-photo img{ width:100%; border-radius:16px; margin-bottom:16px; }
.apex-team-name{ margin:0 0 4px; }
.apex-team-role{ margin:0 0 14px; font-size:.9rem; font-weight:600; }
.apex-team-social{ display:flex; justify-content:center; gap:12px; }
.apex-team-social a{ width:36px; height:36px; border-radius:50%; border:1px solid #e7e9f0; display:flex; align-items:center; justify-content:center; text-decoration:none; color:#0b1f3a; transition:color .2s ease; }

/* Progress Bar */
.apex-progress-bar{ margin-bottom:22px; }
.apex-progress-label{ display:flex; justify-content:space-between; font-weight:600; margin-bottom:8px; }
.apex-progress-track{ height:8px; border-radius:999px; overflow:hidden; }
.apex-progress-fill{ height:100%; border-radius:999px; transition: width 1.2s ease; }

/* Fancy Heading */
.apex-fancy-heading-eyebrow{ display:block; font-weight:600; font-size:.8rem; letter-spacing:.14em; text-transform:uppercase; margin-bottom:10px; opacity:.75; }
.apex-fancy-heading-title{ margin:0; }
.apex-fancy-heading-title mark{ background:none; }

/* Banner */
.apex-banner{ position:relative; background-size:cover; background-position:center; border-radius:16px; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.apex-banner-overlay{ position:absolute; inset:0; }
.apex-banner-content{ position:relative; z-index:2; text-align:center; padding:24px; max-width:640px; }
.apex-banner-title{ color:#fff; margin:0 0 12px; }
.apex-banner-description{ color:rgba(255,255,255,.85); margin:0 0 20px; }

/* Flip Box */
.apex-flip-box{ perspective:1200px; }
.apex-flip-inner{ position:relative; width:100%; height:100%; transition: transform .6s; transform-style:preserve-3d; }
.apex-flip-box:hover .apex-flip-inner{ transform: rotateY(180deg); }
.apex-flip-front, .apex-flip-back{
	position:absolute; inset:0; backface-visibility:hidden;
	border-radius:16px; display:flex; flex-direction:column; align-items:center; justify-content:center;
	text-align:center; padding:24px;
}
.apex-flip-front{ box-shadow:0 10px 30px -15px rgba(11,31,58,.25); }
.apex-flip-back{ transform: rotateY(180deg); color:#fff; }
.apex-flip-icon{ font-size:36px; margin-bottom:12px; }
.apex-flip-link{ color:#fff; font-weight:600; margin-top:14px; display:inline-block; text-decoration:none; }

/* CTA */
.apex-cta{ border-radius:20px; padding:44px; color:#fff; }
.apex-cta-row{ display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.apex-cta-center{ text-align:center; }
.apex-cta-title{ color:#fff; margin:0 0 8px; }
.apex-cta-description{ margin:0; opacity:.85; }

@media (max-width:767px){
	.apex-icon-position-left{ flex-direction:column; text-align:center; }
	.apex-pricing-featured{ transform:none; }
	.apex-cta-row{ flex-direction:column; text-align:center; }
}

/* ==========================================================================
   Apex Hero Slider
   ========================================================================== */
.apex-slider{ position:relative; overflow:hidden; border-radius:0; }
.apex-slider-track{ position:relative; width:100%; height:100%; }
.apex-slide{
	position:absolute; inset:0; background-size:cover; background-position:center;
	display:flex; align-items:center; opacity:0; visibility:hidden;
	transition: opacity .8s ease;
}
.apex-slide.is-active{ opacity:1; visibility:visible; position:relative; }
.apex-slide-overlay{ position:absolute; inset:0; }
.apex-slide-content{ position:relative; z-index:2; max-width:640px; padding: 0 60px; color:#fff; }
.apex-slide-eyebrow{ display:block; font-weight:600; font-size:.8rem; letter-spacing:.14em; text-transform:uppercase; margin-bottom:14px; opacity:.9; }
.apex-slide-title{ color:#fff; font-size:clamp(1.8rem,3.4vw,2.8rem); margin:0 0 16px; }
.apex-slide-description{ color:rgba(255,255,255,.88); margin:0 0 26px; font-size:1.05rem; }

.apex-slider-arrow{
	position:absolute; top:50%; transform:translateY(-50%); z-index:3;
	width:44px; height:44px; border-radius:50%; border:none; background:rgba(255,255,255,.15);
	color:#fff; font-size:1.6rem; cursor:pointer; backdrop-filter: blur(4px);
	display:flex; align-items:center; justify-content:center; line-height:1;
}
.apex-slider-arrow:hover{ background:rgba(255,255,255,.28); }
.apex-slider-prev{ left:20px; }
.apex-slider-next{ right:20px; }

.apex-slider-dots{ position:absolute; bottom:20px; left:50%; transform:translateX(-50%); z-index:3; display:flex; gap:8px; }
.apex-slider-dot{ width:9px; height:9px; border-radius:50%; border:none; background:rgba(255,255,255,.45); cursor:pointer; padding:0; }
.apex-slider-dot.is-active{ background:#fff; width:22px; border-radius:5px; transition: width .3s ease; }

@media (max-width:767px){
	.apex-slide-content{ padding: 0 28px; }
	.apex-slider-arrow{ width:36px; height:36px; font-size:1.3rem; }
}
