/* Base */
.efp-wrapper {
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu,
    Cantarell, Noto Sans, sans-serif;
  color: #0f172a;
}
.efp-wrapper {
  background: linear-gradient(
    165deg,
    #f3e8e8 0%,
    /* top-left corner */ #f3e8e8 40%,
    /* main white area */ #ffffff 40%,
    /* light peach tone start */ #ffffff 100% /* full background fill */
  );
}
.efp-ltr {
  direction: ltr;
}
.efp-rtl {
  direction: rtl;
}

/* Hero */
.efp-hero--compact {
  padding: 28px 12px;
  text-align: center;
}
.efp-title--hero {
  font-size: 42px !important;
  line-height: 1.18;
  font-weight: 800;
  margin: 0;
}
.efp-subtitle--hero {
  font-size: 18px;
  color: #353535;
  margin: 8px 16px 8px 16px;
}

/* Toggle row */
.efp-toggle-row {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-top: 18px;
}
.efp-toggle__monthly,
.efp-toggle__yearly {
  font-size: 16px;
  font-weight: 700;
  opacity: 1;
  color: #020101;
}

/* Curved arrow under "Save 20%" badge */
.efp-toggle__yearly {
  position: relative;
  display: inline-flex;
  align-items: center;
}

/* Orange arrow curve image */
.efp-toggle__yearly::after {
  content: "";
  position: absolute;
  bottom: -21px;
  left: 45px;
  width: 64px;
  height: 21px;
  background: url("../img/arrow-curve.png") no-repeat center center;
  background-size: contain;
  pointer-events: none;
  animation: efpArrowFloat 2s ease-in-out infinite;
  z-index: 0;
}

/* Flip direction in Arabic */
.efp-rtl .efp-toggle__yearly::after {
  transform: scaleX(-1);
  left: auto;
  right: 58%;
}

/* Subtle float animation */
@keyframes efpArrowFloat {
  0%,
  100% {
    transform: translateY(0) scale(1);
    opacity: 0.9;
  }
  50% {
    transform: translateY(2px) scale(1.02);
    opacity: 1;
  }
}

.efp-switch--sm {
  position: relative;
  display: inline-block;
  width: 70px;
  height: 33px;
}
.efp-switch--sm input {
  opacity: 0;
  width: 0;
  height: 0;
}
.efp-switch--sm .efp-slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #dfe3ea;
  transition: 0.2s;
  border-radius: 999px;
}
.efp-switch--sm .efp-slider:before {
  content: "";
  position: absolute;
  height: 25px;
  width: 25px;
  left: 5px;
  bottom: 4px;
  background: #fff;
  border-radius: 50%;
  transition: 0.2s;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
}
.efp-switch--sm input:checked + .efp-slider {
  background: linear-gradient(90deg, #fe765d 6.44%, #ffa049 83.51%);
}
.efp-switch--sm input:checked + .efp-slider:before {
  transform: translateX(34px);
}
.efp-save-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 12px;
  border-radius: 5px;
  background: linear-gradient(90deg, #fe765d 6.44%, #ffa049 83.51%);
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  width: 100px;
  z-index: 9999;
  margin-left: 50px;
}
.efp-onyearly {
  font-size: 16px;
  color: #000000;
}

/* Modules heading */
.efp-modules-head {
  text-align: center;
  padding: 6px 12px 12px;
}
.efp-modules__title {
  font-size: 42px !important;
  font-weight: 500;
  margin: 2px 0;
  color: #e87405 !important;
}
.efp-modules__sub {
  font-size: 18px;
  margin: 4px 0 0;
  color: #353535;
}

/* Module cards */
.efp-modules-grid {
  max-width: 1100px;
  margin: 14px auto 24px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.efp-module-card {
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.08);
  padding: 50px 22px;
  text-align: center;
  cursor: pointer;
  transition: transform 0.2s, box-shadow 0.2s;
}
.efp-module-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.1);
}
.efp-module-card--accent {
  background: linear-gradient(135deg, #fb923c, #f97316);
  color: #fff;
}
.efp-module-card__icon img {
  width: 90px;
  height: 90px !important;
  object-fit: contain;
}
.efp-icon-fallback {
  font-size: 44px;
  line-height: 1;
}
.efp-module-card__title {
  font-weight: 800;
  font-size: 30px;
  margin-top: 10px;
}
.efp-module-card__sub {
  margin-top: 4px;
  font-size: 25px !important;
}

/* Hover: lift + stronger shadow */
.efp-module-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.12);
}

/* Active state: orange gradient + white text */
.efp-module-card.efp-module-card--active {
  background: linear-gradient(90deg, #fe765d 6.44%, #ffa049 83.51%);
  color: #fff;
  /* box-shadow: 0 16px 32px rgba(249, 115, 22, 0.35); */
}

/* Ensure inner text/icon contrasts on active */
.efp-module-card.efp-module-card--active .efp-module-card__title,
.efp-module-card.efp-module-card--active .efp-module-card__sub {
  color: #fff;
  opacity: 0.95;
}

/* Subtitle default styling (kept visible & readable) */
.efp-module-card__sub {
  margin-top: 4px;
  font-size: 14px;
  line-height: 1.35;
  opacity: 0.9; /* you can raise to 1.0 if it still feels faint */
  color: #111; /* explicit color to avoid theme overrides */
}

.efp-module-card--active img {
  filter: brightness(0) invert(1);
  transition: filter 0.3s ease;
}

/* Optional: also change icon fallback (emoji / SVG) */
.efp-module-card--active .efp-icon-fallback {
  color: #fff;
  transition: color 0.3s ease;
}
.efp-card__sar {
  font-weight: 800;
  letter-spacing: 0.3px;
}
.efp-card__vat {
  font-size: 12px;
  opacity: 0.75;
  margin-top: 4px;
}
.efp-price-card--accent {
  background: linear-gradient(135deg, #fb923c, #f97316);
  color: #fff;
}
.efp-price-card--accent .efp-card__vat {
  opacity: 0.9;
}

/* ===== Pricing Cards (screenshot-perfect) ===== */
.efp-pricing-wrap {
  max-width: 1200px;
  margin: 24px auto 40px;
  padding: 0 12px;
}
.efp-pack-head {
  font-size: 42px !important;
  font-weight: 500;
  margin: 50px 0 50px !important;
  color: #e87405 !important;
  text-align: center;
}

/* grid */
.efp-pricing-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  justify-content: center; /* centers grid content */
  justify-items: center; /* centers each card */
  gap: 24px;
}
.efp-plan-card {
  width: 100%;
}

.efp-rtl .efp-save-badge {
  margin-left: 0 !important;
  margin-right: 50px !important;
}

.efp-rtl .efp-toggle__yearly::after {
  right: 35px;
}
@media (max-width: 1024px) {
  .efp-pricing-grid {
    grid-template-columns: 1fr;
  }
}

/* card */
.efp-plan-card {
  background: #ffffff;
  border-radius: 16px;
  padding: 34px 28px;
  text-align: center;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.06);
  transition: transform 0.2s, box-shadow 0.2s;
}
.efp-plan-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.1);
}

.efp-plan-card--accent {
  background: #f3e8e8;
  color: #000000;
}
.efp-plan-card--accent .efp-plan-title,
.efp-plan-card--accent .efp-plan-desc {
  color: #000000;
  opacity: 1;
}

.efp-plan-title {
  font-size: 35px !important;
  font-weight: 800;
  margin: 0 0 18px;
  color: #000000;
  margin-top: 50px;
}
.efp-plan-desc {
  font-size: 18px;
  font-weight: 500;
  line-height: 1.6;
  margin: 0 0 28px;
  color: #565353 !important;
  margin-bottom: 40px !important;
}

.efp-plan-price {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 8px;
  margin-top: 6px;
}
.efp-cur {
  font-weight: 600;
  letter-spacing: 0.3px;
  font-size: 28px !important;
}
.efp-cur,
.efp-amt,
h4.efp-plan-title {
  color: #fe6d52;
}
.efp-plan-card--accent .efp-cur,
.efp-plan-card--accent .efp-amt,
.efp-plan-card--accent .efp-plan-title {
  color: #000000;
}

.efp-plan-card--accent .efp-plan-cta {
  background-color: #000000 !important;
  background: #000000 !important;
  color: #fff;
}

.efp-amt {
  font-weight: 600;
  font-size: 54px;
}
.efp-slash {
  font-weight: 400;
  font-size: 24px;
}
.efp-per {
  font-weight: 400;
  font-size: 24px;
}

.efp-vat-note {
  font-size: 12px;
  opacity: 0.75;
  margin-top: 6px;
}

.efp-plan-card--accent .efp-vat-note {
  color: #fff;
  opacity: 0.9;
}

/* CTA for Corporate */
.efp-cta {
  display: inline-block;
  margin-top: 18px;
  padding: 12px 18px;
  border-radius: 12px;
  background: linear-gradient(135deg, #fb9b5b, #f6a365);
  color: #fff;
  font-weight: 800;
  text-decoration: none;
}

.efp-plan-cta {
  display: inline-block;
  margin-top: 18px;
  padding: 12px 18px;
  border-radius: 5px;
  font-size: 15px;
  background: linear-gradient(90deg, #fe765d 6.44%, #ffa049 83.51%);
  color: #fff;
  font-weight: 600;
  width: 170px;
  text-decoration: none;
  margin-top: 40px !important;
}
.efp-plan-cta:hover {
  color: #f3e8e8;
}

p.efp-plan-desc.m-t-b-5 {
  margin-top: 50px !important;
  margin-bottom: 40px !important;
}
/* make images/emoji inside accent appear white */
.efp-plan-card--accent img {
  filter: brightness(0) invert(1) contrast(110%);
}
h3.efp-module-card__title {
  font-size: 30px !important;
}

.rtl h1,
.rtl h1,
h2,
.rtl h2,
h3,
.rtl h3,
h4,
.rtl h4,
h5,
.rtl h5,
h6,
.rtl h6,
.rtl p,
.rtl span,
.rtl label,
.rtl input,
.rtl button,
.rtl select,
.rtl textarea {
  font-family: "cairo", Sans-serif !important;
}
h1,
h1,
h2,
h2,
h3,
h3,
h4,
h4,
h5,
h5,
h6,
h6,
p,
span,
label,
input,
button,
select,
textarea {
  font-family: "Roboto", Sans-serif !important;
}
/* Responsive */
@media (max-width: 1024px) {
  .efp-title--hero,
  .efp-modules__title,
  h3.efp-module-card__title,
  .efp-pack-head,
  .efp-plan-title {
    font-size: 22px !important;
  }
  .efp-module-card__sub {
    font-size: 18px !important;
  }
  .efp-modules-grid {
    grid-template-columns: 1fr;
  }
  .efp-save-badge {
    margin-left: 0 !important;
    margin-top: 25px !important;
  }
  .efp-rtl .efp-save-badge {
    margin-left: 0 !important;
    margin-right: 0px !important;
  }
  .efp-modules-grid {
    padding-left: 15px;
    padding-right: 15px;
  }
  .efp-switch--sm {
    width: 85px;
  }
  .efp-toggle-row {
    display: inline-block;
    width: 300px;
  }
  .efp-toggle__yearly::after {
    display: none;
  }
  .efp-switch--sm {
    top: -5px;
    margin-left: 15px;
    margin-right: 15px;
  }
  .efp-onyearly {
    margin-left: 15px;
  }
  .efp-switch--sm input:checked + .efp-slider:before {
    transform: translateX(47px);
  }
  .efp-plan-title {
    margin-top: 20px;
  }
  .efp-module-card {
    padding: 20px;
  }
  h3.efp-module-card__title {
    margin-bottom: 5px;
  }
  .efp-module-card__icon img {
    width: 70px;
    height: 70px !important;
  }
}

/* Global overlay loader */
.efp-global-loader {
  position: fixed;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 1);
  z-index: 999999;
}

.efp-global-loader.is-visible {
  display: flex;
}

.efp-global-loader__inner {
  text-align: center;
}

.efp-global-loader__logo {
  width: 96px;
  height: 96px;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  animation: efpPulse 1.2s ease-in-out infinite;
}

/* Screen-reader only text */
.efp-sr-only {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

@keyframes efpPulse {
  0%,
  100% {
    transform: scale(1);
    opacity: 0.9;
  }
  50% {
    transform: scale(1.06);
    opacity: 1;
  }
}
