/* ============================================
   CMS additions – small helpers for content
   that is now managed from the admin panel.
   ============================================ */

/* Spam honeypot – hidden from people, visible to bots */
.cms-hp {
  position: absolute !important;
  left: -10000px !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

/* Form feedback */
.cms-form-message {
  margin-top: 14px;
  padding: 12px 16px;
  border-radius: 10px;
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.5;
}

.cms-form-message.is-success {
  background: #e8f7ef;
  color: #17643a;
  border: 1px solid #bfe7cf;
}

.cms-form-message.is-error {
  background: #fdecec;
  color: #9b1c1c;
  border: 1px solid #f5c2c2;
}

.cms-field-error {
  border-color: #e05252 !important;
}

form[data-cms-form] button[type="submit"][disabled] {
  opacity: 0.7;
  cursor: wait;
}

/* Non-JS fallback toast */
.cms-toast {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 3000;
  max-width: 360px;
  padding: 14px 18px;
  border-radius: 12px;
  background: #030244;
  color: #fff;
  font-family: var(--font-body);
  font-size: 14px;
  box-shadow: 0 12px 30px rgba(3, 2, 68, 0.25);
  animation: cms-toast 6s ease forwards;
}

@keyframes cms-toast {
  0% { opacity: 0; transform: translateY(12px); }
  8%, 85% { opacity: 1; transform: translateY(0); }
  100% { opacity: 0; transform: translateY(12px); visibility: hidden; }
}

/* Home hero as a slider (two or more slides) */
.hero-swiper .swiper-slide {
  height: auto;
}

.hero-pagination {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 22px !important;
  z-index: 5;
  text-align: center;
}

.hero-pagination .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  background: #fff;
  opacity: 0.5;
  margin: 0 5px !important;
  transition: all 0.3s ease;
}

.hero-pagination .swiper-pagination-bullet-active {
  width: 28px;
  border-radius: 6px;
  opacity: 1;
}

/* Font Awesome icons in cards that originally used inline SVGs */
.why-fincore-icon i { font-size: 26px; }
.why-work-icon i { font-size: 30px; color: var(--secondary); }

/* Rich text inside theme blocks keeps the theme's paragraph rhythm */
.investment-advisory-description p,
.hr-overview-content p,
.employee-overview-content p,
.partner-content p,
.employee-join-content p,
.abt-overview-content p {
  margin-bottom: 16px;
}

.investment-advisory-description p:last-child { margin-bottom: 0; }
.faq-answer p + p { margin-top: 10px; }

/* Content pages (privacy policy, terms …) */
.cms-page-section { padding: 70px 0; }
.cms-page-content { max-width: 900px; margin: 0 auto; }
.cms-page-content ul { list-style: disc; padding-left: 22px; margin: 0 0 25px; }
.cms-page-content a { color: var(--secondary); text-decoration: underline; }

/* Rich text inside blog posts */
.blog-detail-content a { color: var(--secondary); text-decoration: underline; }
.blog-detail-content img { max-width: 100%; height: auto; border-radius: 12px; }
.blog-detail-content table { width: 100%; border-collapse: collapse; margin: 0 0 24px; }
.blog-detail-content td, .blog-detail-content th { border: 1px solid #e3e8f2; padding: 10px 12px; }

.blog-pagination-number.is-gap { pointer-events: none; border-color: transparent; background: none; }

.cms-empty-jobs { text-align: center; }
.cms-error-section { padding: 120px 0; text-align: center; }
.cms-error-section .blog-hero-content { margin: 0 auto; }
