/* ==== Reset ==== */
*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
*{
	font-family: "Manrope", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
}

/* ==== Color Variables ==== */
:root {
  --color-navy: #002147;
  --color-sky: #4DA8DA;
}

/* ==== Section Title ==== */
[data-section-title] h2 {
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  font-size: 40px;
  line-height: 125%;
  color: var(--color-navy);
}

/* ==== Description Sizes ==== */
[data-size-lg] p {
  font-family: 'Manrope', sans-serif;
  font-weight: 500;
  font-size: 20px;
  line-height: 160%;
}

[data-size-md] p {
  font-family: 'Manrope', sans-serif;
  font-weight: 500;
  font-size: 18px;
  line-height: 160%;
}

[data-size-sm] p {
  font-family: 'Manrope', sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 160%;
}

/* ==== Header Menu Wrapper ==== */
[data-header-menu] .et-menu-nav > ul {
  display: flex;
  gap: 32px;
}
[data-header-menu] ul li{
	padding: 0 !important;
	margin: 0 !important;
}
/* ==== Menu Text ==== */
[data-header-menu] a {
	font-family: 'Manrope', sans-serif;
	font-weight: 500;
	font-size: 16px;
	line-height: 160%;
	letter-spacing: 0%;
	color: var(--color-navy);
	opacity: 0.75;
	padding: 0 !important;
	margin: 0 !important;
}
[data-header-menu] a:hover{
	opacity: 1;
}

/* ==== Login Button ==== */
[data-login-button] {
	font-family: 'Manrope', sans-serif;
	font-weight: 700;
	font-size: 16px;
	line-height: 160%;
	color: var(--color-navy) !important;
	background: transparent !important;
	padding: 0 !important;
	border: none !important;
	outline: none !important;
}
[data-login-button]:before,
[data-login-button]:after {
	display: none !important;
}

/* ==== Primary Button — Global Default ==== */
[data-primary-button] {
	font-family: 'Manrope', sans-serif;
	font-weight: 700;
	font-size: 24px;
	line-height: 125%;
	text-align: center;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	border-radius: 100px;
	padding: 10.5px 24px;
	background: var(--color-sky) !important;
	color: var(--color-navy) !important;
	border: none !important;
	outline: none !important;
}
[data-primary-button]:before,
[data-primary-button]:after {
	display: none !important;
}

[data-primary-button]:hover{
	padding: 10.5px 24px !important;
	transform: translatey(-2px);
}

/* ==== Primary Button — Small Header Variant (Register) ==== */
[data-primary-button][data-register-button] {
  font-size: 16px;
  line-height: 160%;
  padding: 7px 16px;
}
[data-primary-button][data-register-button]:hover{
	padding: 7px 16px !important;
}

/* ==== Hero Heading ==== */
[data-hero-title] h1 {
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  font-size: 56px;
  line-height: 125%;
  letter-spacing: 0%;
  color: var(--color-navy);
}
[data-hero-title] h1 span {
  opacity: 0.45;
}







/* ==== Pricing Wrapper — horizontal scroll, no fixed width ==== */
[data-pricing-wrapper] {
  display: flex;
  flex-wrap: nowrap;
  gap: 32px;
  width: 100%;
  overflow-x: auto;
}

/* ==== Pricing Card — fixed width, doesn't shrink ==== */
[data-pricing-card] {
  display: flex;
  flex-direction: column;
  flex: 0 0 384px;
  width: 384px;
  gap: 20px;
  padding: 32px 40px 40px 40px;
  border-radius: 24px;
  background: rgba(77, 168, 218, 0.25); /* #4DA8DA at 25% opacity */
}

/* ==== Pricing Card Title ==== */
[data-pricing-card] .et_pb_pricing_title {
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 130%;
  color: var(--color-navy);
}

/* ==== Pricing Card Subtitle ==== */
[data-pricing-card] .et_pb_best_value {
  font-family: 'Manrope', sans-serif;
  font-weight: 500;
  font-size: 14px;
  line-height: 150%;
  color: var(--color-navy);
  opacity: 0.6;
}

/* ==== Price Row ==== */
[data-pricing-card] .et_pb_et_price {
  display: flex;
  align-items: baseline;
  gap: 4px;
}

[data-pricing-card] .et_pb_dollar_sign,
[data-pricing-card] .et_pb_sum {
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  font-size: 36px;
  line-height: 120%;
  color: var(--color-navy);
}

/* ==== "/ month" text (once Recurring field is filled in) ==== */
[data-pricing-card] .et_pb_frequency {
  font-family: 'Manrope', sans-serif;
  font-weight: 500;
  font-size: 14px;
  color: var(--color-navy);
  opacity: 0.6;
}

/* ==== Feature List ==== */
[data-pricing-card] .et_pb_pricing ul,
[data-pricing-card] ul.et_pb_pricing {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

[data-pricing-card] .et_pb_pricing li {
  font-family: 'Manrope', sans-serif;
  font-weight: 500;
  font-size: 14px;
  line-height: 150%;
  color: var(--color-navy);
  display: flex;
  align-items: center;
  gap: 8px;
}

/* Not-included items — faded */
[data-pricing-card] .et_pb_pricing li.et_pb_not_available {
  opacity: 0.4;
}

/* ==== Check Plans Button ==== */
[data-pricing-card] .et_pb_pricing_table_button {
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 160%;
  text-align: center;
  border-radius: 100px;
  padding: 10px 24px;
  background: var(--color-sky);
  color: var(--color-navy);
  border: none;
  width: 100%;
}

/* ==== Why Buy - Feature Card ==== */
[data-feature-card] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
[data-feature-card] h3 {
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  font-size: 22px;
  line-height: 130%;
  color: var(--color-navy);
}
[data-feature-card] p {
  font-family: 'Manrope', sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 160%;
  color: var(--color-navy);
  opacity: 0.75;
}

/* ==== Dark Filled Button (CTA banners) ==== */
[data-btn-dark] {
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 160%;
  color: #FFFFFF !important;
  background: var(--color-navy) !important;
  border-radius: 100px;
  padding: 14px 28px !important;
  border: none !important;
  outline: none !important;
  margin-top: 24px;
  display: inline-block;
}
[data-btn-dark]:before,
[data-btn-dark]:after {
  display: none !important;
}
[data-btn-dark]:hover {
  padding: 14px 28px !important;
  transform: translateY(-2px);
}
[data-cta-skype] h2 {
  color: var(--color-navy);
}
[data-cta-skype] p {
  color: var(--color-navy);
}

/* ==== Centered Section Title Variant ==== */
[data-section-title-center] {
  text-align: center;
}
[data-section-title-center] h2 {
  margin: 0 auto 24px auto;
}

/* ==== Service Grid Icons ==== */
[data-service-icon] {
  margin-bottom: 16px;
}

/* ==== Pre-Installed Software Icons ==== */
[data-software-icons] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 32px;
}
[data-software-icon] {
  width: auto !important;
}
[data-software-icon] img {
  height: 40px;
  width: auto;
}

/* ==== Testimonials ==== */
[data-testimonial-wrapper] {
  border-radius: 24px;
}
[data-testimonial-wrapper] > * {
  text-align: center;
}
[data-testimonial-card] {
  text-align: left !important;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
[data-testimonial-card] h4 {
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  font-size: 18px;
  color: var(--color-navy);
}
[data-testimonial-card] p {
  font-family: 'Manrope', sans-serif;
  font-size: 14px;
  color: var(--color-navy);
  opacity: 0.75;
}

/* ==== Testimonial Header Centering ==== */
[data-testimonial-wrapper] > .et_pb_row > .et_pb_column {
  text-align: center;
}
[data-testimonial-wrapper] [data-size-lg] {
  max-width: 700px;
  margin: 0 auto 24px auto;
}
[data-testimonial-wrapper] > .et_pb_row > .et_pb_column > .et_pb_image {
  display: flex;
  justify-content: center;
  margin-bottom: 8px;
}
[data-excellent-label] {
  display: inline-block;
  margin-right: 12px;
  vertical-align: middle;
}
[data-excellent-label] h3 {
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  color: var(--color-navy);
  display: inline;
}

/* ==== Fix: software icons row was stacking (Divi columns default flex-direction:column) ==== */
[data-software-icons] .et_pb_column {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center;
  justify-content: center;
  gap: 32px;
}

/* ==== World Map ==== */
[data-map-wrapper] {
  position: relative;
}
[data-map-wrapper] [class*="data-badge-"] img,
[data-badge-hongkong], [data-badge-losangeles], [data-badge-uk], [data-badge-netherlands],
[data-badge-russia], [data-badge-usa], [data-badge-singapore], [data-badge-australia],
[data-badge-india], [data-badge-newyork], [data-badge-germany], [data-badge-canada] {
  position: absolute;
  width: auto;
  z-index: 2;
}
[data-badge-hongkong] { top: 21%; left: 38%; }
[data-badge-losangeles] { top: 24%; left: 73%; }
[data-badge-uk] { top: 40%; left: 49%; }
[data-badge-netherlands] { top: 40%; left: 78%; }
[data-badge-russia] { top: 47%; left: 14%; }
[data-badge-usa] { top: 44%; left: 28%; }
[data-badge-singapore] { top: 57%; left: 69%; }
[data-badge-australia] { top: 30%; left: 9%; }
[data-badge-india] { top: 60%; left: 40%; }
[data-badge-newyork] { top: 80%; left: 24%; }
[data-badge-germany] { top: 80%; left: 44%; }
[data-badge-canada] { top: 78%; left: 70%; }

/* ==== FAQ Accordion ==== */
[data-faq-item] .et_pb_toggle_title {
  background: rgba(0, 168, 232, 0.15);
  border-radius: 12px;
  padding: 20px 24px !important;
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  font-size: 16px;
  color: var(--color-navy);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
[data-faq-item] {
  margin-bottom: 16px;
}
[data-faq-item] .et_pb_toggle_content {
  padding: 16px 24px 8px 24px !important;
  font-family: 'Manrope', sans-serif;
  font-size: 14px;
  color: var(--color-navy);
  opacity: 0.8;
}
[data-faq-item] .et_pb_toggle_title:before {
  color: var(--color-navy) !important;
}

/* ==== Resources 2x2 Grid ==== */
[data-resource-pill]:has(+ [data-resource-pill]),
[data-resource-pill] {
  display: inline-flex !important;
}
[data-resource-pill] {
  width: calc(50% - 8px) !important;
  vertical-align: top;
  margin-right: 8px;
  margin-bottom: 8px;
}
[data-resource-pill] p {
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  color: var(--color-navy);
  margin: 0;
}
[data-resource-pill] img {
  width: 32px;
  height: 32px;
}

/* ==== Footer ==== */
[data-main-footer] {
  color: #FFFFFF;
}
[data-footer-nav] p {
  font-family: 'Manrope', sans-serif;
  font-weight: 500;
  color: #FFFFFF;
}
[data-main-footer] h4 {
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  font-size: 16px;
  margin-bottom: 12px;
}
[data-main-footer] p {
  font-family: 'Manrope', sans-serif;
  font-weight: 500;
  font-size: 14px;
  color: rgba(255,255,255,0.7);
  margin-bottom: 8px;
}
[data-payment-icons] {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}
[data-payment-icons] img {
  height: 24px;
  width: auto;
}

/* ==== Page Title Banner (reusable across inner pages) ==== */
[data-page-banner] {
  background: #DCF0FA !important;
  padding: 48px 32px !important;
  text-align: center;
}
[data-page-banner] h1 {
  color: var(--color-navy);
  text-align: center;
}

/* ==== FAQ Sidebar Tabs ==== */
[data-sidebar-tabs] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
[data-sidebar-tab], [data-sidebar-tab-active] {
  padding: 14px 20px;
  border-radius: 12px;
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  font-size: 14px;
  color: var(--color-navy);
}
[data-sidebar-tab] p, [data-sidebar-tab-active] p {
  margin: 0;
}
[data-sidebar-tab] {
  background: rgba(0, 168, 232, 0.1);
}
[data-sidebar-tab-active] {
  background: var(--color-sky);
}

/* ==== FAQ Sidebar Divider (CSS backup - native border was dropped) ==== */
[data-sidebar-tabs] {
  border-right: 1px solid rgba(0, 33, 71, 0.12);
  padding-right: 32px;
}

/* ==== Footer Nav Items (fix: was pipe-separated text) ==== */
[data-footer-nav-items] {
  display: flex;
  gap: 24px;
}
[data-footer-nav-item] p {
  font-family: 'Manrope', sans-serif;
  font-weight: 500;
  color: #FFFFFF;
  margin: 0;
}

/* ==== Footer Social Icons (fix: were missing entirely) ==== */
[data-social-icons] {
  display: flex;
  gap: 12px;
  justify-content: flex-end;
}
[data-social-icon] {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(255,255,255,0.1);
  display: flex;
  align-items: center;
  justify-content: center;
}
[data-social-icon] p {
  color: #FFFFFF;
  font-weight: 700;
  text-transform: uppercase;
  margin: 0;
  font-size: 14px;
}

/* ==== Payment Icons (re-fix: attribute dropped again) ==== */
[data-payment-icons] {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}
[data-payment-icons] img {
  height: 24px;
  width: auto;
}

/* ==== Contact Form (CSS backup - native column decoration kept dropping) ==== */
[data-contact-form] {
  background: rgba(0, 168, 232, 0.15) !important;
  border-radius: 16px !important;
  padding: 40px !important;
}
[data-contact-form] label {
  display: block;
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  color: var(--color-navy);
  margin-top: 20px;
  margin-bottom: 8px;
}
[data-contact-form] label:first-child {
  margin-top: 0;
}
[data-contact-form] input,
[data-contact-form] select,
[data-contact-form] textarea {
  width: 100%;
  padding: 14px 18px;
  border-radius: 100px;
  border: 1px solid rgba(0,33,71,0.15);
  background: #FFFFFF;
  font-family: 'Manrope', sans-serif;
  box-sizing: border-box;
}
[data-contact-form] textarea {
  border-radius: 20px;
  min-height: 100px;
}
[data-contact-form] button {
  width: 100%;
  margin-top: 24px;
  padding: 16px;
  border-radius: 100px;
  border: none;
  background: var(--color-sky);
  color: var(--color-navy);
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  font-size: 16px;
  cursor: pointer;
}

/* ==== Blog Cards (Divi Blog module default -> site style) ==== */
.et_pb_blog_posts .et_pb_post {
  background: none;
  border: none;
  margin-bottom: 32px;
}
.et_pb_blog_posts .et_pb_post .et_pb_image_container,
.et_pb_blog_posts .et_pb_post .et_pb_image_container img {
  border-radius: 16px;
  width: 100%;
  height: auto;
  object-fit: cover;
}
.et_pb_post .entry-title {
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  color: var(--color-navy);
  margin-top: 16px;
}
.et_pb_post .entry-title a {
  color: var(--color-navy);
}
.et_pb_post .post-meta {
  font-family: 'Manrope', sans-serif;
  font-size: 13px;
  color: var(--color-navy);
  opacity: 0.6;
  order: -1;
  display: flex;
  gap: 8px;
  align-items: center;
}
.et_pb_post .post-meta .author,
.et_pb_post .post-meta .published { display: none; }
.et_pb_post .post-meta .entry-categories a {
  display: inline-block;
  background: rgba(0, 168, 232, 0.15);
  color: var(--color-navy);
  font-weight: 700;
  padding: 6px 14px;
  border-radius: 100px;
  text-decoration: none;
}
.et_pb_post .post-content p {
  font-family: 'Manrope', sans-serif;
  color: var(--color-navy);
  opacity: 0.75;
  font-size: 14px;
}
.et_pb_blog_posts { display: flex; flex-direction: column; }
[data-latest-posts] .et_pb_blog_posts,
[data-featured-post] .et_pb_blog_posts {
  display: grid;
}
[data-latest-posts] .et_pb_blog_posts {
  grid-template-columns: 1fr 1fr;
  gap: 32px;
}
[data-featured-post] .et_pb_post {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  align-items: center;
}
[data-featured-post] .et_pb_image_container { order: 2; }
[data-featured-post] .entry-title { font-size: 32px; order: 0; }
[data-featured-post] .post-meta { order: -1; }
[data-popular-posts] .et_pb_post {
  display: flex;
  gap: 16px;
  align-items: center;
}
[data-popular-posts] .et_pb_image_container {
  width: 120px;
  flex-shrink: 0;
}
[data-popular-posts] .post-content { display: none; }
[data-popular-posts] .entry-title { font-size: 15px; margin-top: 8px; }

/* ==== Post Filter Tabs ==== */
[data-post-filter] {
  display: flex;
  gap: 12px;
  margin: 16px 0 32px 0;
}
[data-post-filter] .et_pb_post_filter_item {
  background: rgba(0, 168, 232, 0.15);
  color: var(--color-navy);
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  padding: 10px 20px;
  border-radius: 100px;
}