/* ================= GLOBAL FOOTER RESET ================= */

/* Remove container side gaps */
#sp-footer .container {
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Align footer sections vertically center by default */
#sp-footer .container > .row {
    display: flex;
    align-items: center;      /* vertical center */
    justify-content: center;   /* center horizontally for sections */
    flex-wrap: wrap;
    margin: 0;
    min-height: 100px;         /* adjust as per your footer height */
}
/* Footer 1: logo vertical + horizontal centering */
.footer-logo {
    display: flex;
    justify-content: flex-start; /* desktop: left */
    align-items: center;         /* vertical center */
    width: 100%;
    padding: 0;
}

/* Ensure the inner module also stretches */
.footer-logo .sp-module {
    display: flex;
    align-items: center;         /* vertical center */
    width: 100%;
    padding: 0;
}

/* Logo image auto-centered vertically */
.footer-logo img {
    display: block;
    max-height: 100px;
    margin: auto 0;              /* vertical center */
}

/* ================= FOOTER SECTION STYLING ================= */

.footer-logo img {
    max-height: 100px;
}

/* Footer 2: Information links */
.footer-menu {
    display: flex;
    flex-direction: column; /* vertical links */
    text-align: left;
    width: 100%;
    max-width: 240px;
}

.footer-menu h3 {
    margin-bottom: 15px;
}

.footer-menu a {
    color: #000 !important;
    text-decoration: none;
    margin-bottom: 8px;
}

.footer-menu a:hover {
    color: #ff6600 !important;
}

/* Footer 3: Contact section */
.footer-contact {
    display: flex;
    flex-direction: column;
    text-align: left;
    width: 100%;
    max-width: 340px;
}

.footer-contact h3 {
    margin-bottom: 15px;
}

.footer-contact .contact-item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 12px;
}

.footer-contact .icon {
    width: 40px;
    min-width: 40px;
    display: flex;
    justify-content: center;
    margin-right: 10px;
}

.footer-contact .icon img {
    width: 36px;
}

/* Footer 4: Social links */
.footer-social {
    display: flex;
    flex-direction: column;
    text-align: left;
    width: 100%;
    max-width: 240px;
}

.footer-social h3 {
    margin-bottom: 15px;
}

.footer-social .social-icons {
    display: flex; /* horizontal on desktop */
    gap: 8px;
}

.footer-social .social-icons a img {
    width: 32px;
    height: 32px;
}

/* ================= RESPONSIVE STYLING ================= */

@media (max-width: 992px) {
    /* Stack footer sections vertically */
    #sp-footer .container > .row {
        flex-direction: column;
        align-items: center;
        justify-content: center;
        text-align: center;
    }

    /* Footer 1 logo centered */
    .footer-logo {
        justify-content: center;
        margin-bottom: 20px;
    }

    /* Footer 2,3,4 content centered */
    .footer-menu,
    .footer-contact,
    .footer-social {
        text-align: center;
        align-items: center;
        max-width: 100%;
        margin-bottom: 20px;
    }

    /* Footer 3 contact items stacked for mobile */
    .footer-contact .contact-item {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .footer-contact .icon {
        margin-right: 0;
        margin-bottom: 6px;
    }

    /* Footer 4 social icons centered */
    .footer-social .social-icons {
        justify-content: center;
    }
}

/* MAIN MENU */
.sp-megamenu-parent > li > a {
    font-family: 'Lato', sans-serif !important;
    font-size: 16px !important;
    font-weight: 500 !important;
}

/* SUB MENU (DROPDOWN) */
.sp-dropdown li a {
    font-family: 'Lato', sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
}

/* MOBILE MENU */
.offcanvas-menu .menu > li > a,
.offcanvas-menu .menu li ul li a {
    font-family: 'Lato', sans-serif !important;
}
/* Increase gap between submenu items */
.sp-dropdown li {
    margin-bottom: 10px;   /* adjust value as needed */
}

/* Remove extra space after last item */
.sp-dropdown li:last-child {
    margin-bottom: 0;
}
/* KEEP arrows on main (parent) menu */
.sp-megamenu-parent > li > a::after {
    display: inline-block !important;
}

/* REMOVE arrows from submenus */
.sp-dropdown li > a::after,
.sp-dropdown .sp-dropdown-toggle {
    display: none !important;
}
/* =========================
   Section
========================= */
.yt-section {
  margin: 0;
  padding: 30px 0 50px;
  background: transparent !important;
}

/* Allow arrows outside (SP Page Builder fix) */
.yt-section,
.yt-section .sppb-container,
.yt-section .sppb-row,
.yt-section .sppb-column {
  overflow: visible !important;
}

/* =========================
   Swiper base
========================= */
.yt-swiper {
  width: 100%;
  position: relative !important;
  overflow: visible;
}

/* =========================
   Slides
========================= */
.yt-swiper .swiper-slide {
  width: 320px !important;
  flex-shrink: 0;
  height: auto;
}

/* Remove extra space after last slide */
.yt-swiper .swiper-slide:last-child {
  margin-right: 0 !important;
}

/* Mobile */
@media (max-width: 768px) {
  .yt-swiper .swiper-slide {
    width: 85% !important;
  }
}

/* =========================
   Card
========================= */
.yt-card {
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 10px 26px rgba(0,0,0,0.1);
  overflow: hidden;
}

/* Video */
.yt-card iframe {
  width: 100%;
  height: 200px;
  display: block;
  border: 0;
border-top-left-radius: 16px;
  border-top-right-radius: 16px;
}

/* Meta */
.yt-meta {
  padding: 14px 16px 18px;
}

.yt-meta h4 {
  font-size: 15px;
  margin: 0 0 6px;
}

.yt-meta p {
  font-size: 13px;
  margin: 0;
  color: #555;
}

/* =========================
   Pagination
========================= */
.yt-swiper .swiper-pagination {
  position: relative;
  margin-top: 20px;
}
/* =========================
   FORCE CUSTOM ARROWS
========================= */
/* Navigation arrows */
.yt-swiper .swiper-button-prev,
.yt-swiper .swiper-button-next {
  width: 42px;
  height: 42px;
  background: #333;
  border-radius: 50%;
  color: #fff;

  position: absolute;
  top: 45%;
  transform: translateY(-50%);
  z-index: 9999;

  opacity: 1 !important;
  visibility: visible !important;
}

/* LEFT arrow */
.yt-swiper .swiper-button-prev {
  left: 8px;
}

/* RIGHT arrow */
.yt-swiper .swiper-button-next {
  right: 8px;
}

/* Arrow icons */
.yt-swiper .swiper-button-prev::after,
.yt-swiper .swiper-button-next::after {
  font-size: 16px;
  color: #fff;
}


/* === FIX SP PAGE BUILDER CLIPPING (YT SLIDER ONLY) === */
.yt-section,
.yt-section * {
  overflow: visible !important;
}
.sppb-articles-scroller img {
    display: block !important;
    max-width: 100%;
}
.right-article-column {
  position: relative;
  height: 100%;
}

.view-all-bottom {
  position: absolute;
  bottom: 0;
  right: 0;
}
/* Reset everything first */
.mod-breadcrumbs.breadcrumb {
  background: transparent;
  padding: 0;
  margin: 0;
}

/* Remove template divider completely */
.mod-breadcrumbs__divider {
  display: none !important;
}

/* Clean items */
.mod-breadcrumbs.breadcrumb li {
  display: inline-block;
  font-size: 28px;
}

/* Links */
.mod-breadcrumbs.breadcrumb a {
  color: #ffffff;
  text-decoration: none;
}

/* Active */
.mod-breadcrumbs.breadcrumb .active {
  color: #ffffff;
}

/* Simple modern separator */
.mod-breadcrumbs.breadcrumb li + li::before {
  content: "›";
  margin: 0 8px;
  color: #ffffff;
  font-size: 28px;
}
.mod-breadcrumbs__divider {
  display: none !important;
}

/* Card layout (safe) */
.edocmandocuments .document {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 8px;
    padding: 8px 10px;
    margin-bottom: 2px;
    display: flex;
    align-items: center;
}
.edocmandocuments .document-icon i,
.edocmandocuments .document-icon img,
.edocmandocuments .document-icon svg {
    display: none !important;
}

.edocmandocuments .document-icon::before {
    content: "";
    width: 16px;
    height: 16px;
    display: block;

    background-color: #2563eb;

    -webkit-mask: url("https://cdn-icons-png.flaticon.com/512/727/727218.png") no-repeat center;
    mask: url("https://cdn-icons-png.flaticon.com/512/727/727218.png") no-repeat center;

    -webkit-mask-size: contain;
    mask-size: contain;
}
.edocmandocuments .document-icon {
    width: 34px !important;
    height: 34px !important;
    flex: 0 0 34px !important;

    border-radius: 50% !important;
    background: #e6f0ff;

    display: flex;
    align-items: center;
    justify-content: center;
}
/* The Main Card Container */
.vm-audio-card {
    display: flex !important;
    flex-direction: row !important; /* Forces side-by-side */
    flex-wrap: nowrap !important; /* Prevents dropping to next line */
    background: #ffffff;
    border: 1px solid #e0e0e0;
    border-radius: 10px;
    padding: 25px;
    margin-bottom: 20px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
    align-items: flex-start;
    gap: 30px;
    width: 100%;
}
/* FORCE POPUP TO BE A WINDOW, NOT FULL SCREEN */
.mfp-iframe-scaler {
    max-width: 800px !important; /* This is the width of your popup */
    height: auto !important;
    aspect-ratio: 16 / 9;
    margin: 0 auto;
    border: 4px solid #fff;
    border-radius: 12px;
    background: #000;
}

.mfp-content {
    max-width: 800px !important;
    vertical-align: middle;
}

/* Fix for the Close Button */
.mfp-close {
    font-size: 45px !important;
    opacity: 1 !important;
    top: -50px !important;
    right: 0 !important;
    color: #fff !important;
}

/* --- UI DESIGN --- */
.vm-audio-card {
    display: flex !important;
    flex-direction: row !important;
    background: #ffffff;
    border: 1px solid #e0e0e0;
    border-radius: 12px;
    padding: 25px;
    margin-bottom: 20px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
    align-items: center;
    gap: 25px;
}

.vm-audio-info { flex: 1; }
.vm-audio-info h4 { color: #d35400; font-weight: 700; margin: 0 0 10px 0; }

.vm-tracklist { list-style: none; padding: 0; margin: 0; }
.vm-tracklist li { 
    display: flex; justify-content: space-between; 
    padding: 8px 0; border-bottom: 1px solid #f5f5f5;
    font-size: 15px; color: #333; max-width: 350px;
}

.vm-thumb-side { width: 240px; flex-shrink: 0; }
.vm-thumb-wrapper {
    position: relative; border-radius: 10px; overflow: hidden;
    border: 2px solid #222; line-height: 0;
}
.vm-thumb-wrapper img { width: 100%; height: auto; display: block; }

.vm-overlay {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(0,0,0,0.1); display: flex; justify-content: center; align-items: center;
}
.vm-play-btn { width: 55px; height: 38px; background: #ff0000; border-radius: 10px; position: relative; }
.vm-play-btn::after {
    content: ''; position: absolute; left: 22px; top: 11px;
    border-left: 14px solid white; border-top: 8px solid transparent; border-bottom: 8px solid transparent;
}

@media (max-width: 768px) {
    .vm-audio-card { flex-direction: column-reverse !important; padding: 15px; }
    .vm-thumb-side { width: 100%; }
    .mfp-iframe-scaler { max-width: 95% !important; }
}
/* ===== EVENT CARD (PREMIUM LOOK) ===== */

.ebm-upcoming-events .row.up-event-item {
  display: flex;
  align-items: center;
  background: #ffffff;
  border-radius: 16px;
  padding: 18px 22px;
  margin-bottom: 20px;
  box-shadow: 0 8px 25px rgba(0,0,0,0.08);
  transition: all 0.3s ease;
  border-left: 4px solid #f76b1c; /* highlight line */
}

.ebm-upcoming-events .row.up-event-item:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 30px rgba(0,0,0,0.12);
}

/* ===== REMOVE DEFAULT SPACING ===== */

.ebm-upcoming-events .col-md-3,
.ebm-upcoming-events .col-md-9 {
  padding: 0;
}

.ebm-upcoming-events .col-md-3 {
  flex: 0 0 75px;
  max-width: 75px;
}

.ebm-upcoming-events .col-md-9 {
  flex: 1;
  padding-left: 15px;
}
/* ===== FORCE PROPER CALENDAR STRUCTURE ===== */

.ebm-event-date {
  display: flex !important;
  flex-direction: column;
  height: 70px;
  width: 55px;
  overflow: hidden;
border-radius: 12px;
background: #ffffff;
  box-shadow: 0 6px 15px rgba(0,0,0,0.1);
}

/* ===== MONTH (TOP) ===== */
.ebm-event-month {
  height: 26px;
  line-height: 26px; /* force vertical center */
  text-align: center;
  font-size: 12px;
  font-weight: 600;
  padding: 0;
}

/* ===== DAY (BOTTOM - PERFECT CENTER FIX) ===== */
.ebm-event-day {
  height: calc(100% - 26px); /* remaining space */
  line-height: 44px;         /* exact vertical centering trick */
  text-align: center;
  font-size: 20px;
  font-weight: 700;
  padding: 0 !important;
  margin: 0 !important;
}
/* ===== TITLE ===== */

.ebm-event-link {
  font-size: 19px;
  font-weight: 600;
  color: #2c2c2c;
  margin-bottom: 6px;
  display: inline-block;
  text-decoration: none;
}

.ebm-event-link:hover {
  color: #ff3d00;
}

/* ===== META INFO ===== */

.ebm-event-categories a {
  color: #ff7a18;
  font-size: 14px;
}

.eb-colorbox-map {
  color: #777;
  font-size: 14px;
}

/* icons */
.fa {
  margin-right: 6px;
  color: #999;
}

/* ===== MOBILE ===== */

@media (max-width: 768px) {

  .ebm-upcoming-events .row.up-event-item {
    padding: 15px;
  }

  .ebm-upcoming-events .col-md-3 {
    flex: 0 0 60px;
    max-width: 60px;
  }

  .ebm-event-date {
    width: 55px;
    height: 65px;
  }

  .ebm-event-day {
    font-size: 18px;
  }
}
/* ===== REMOVE LINE UNDER DATE ===== */
.ebm-event-month {
  border: none !important;
}

.ebm-event-day {
  border: none !important;
}

/* In case theme is adding divider */
.ebm-event-date * {
  border: none !important;
}

/* ===== REDUCE GAP BETWEEN DATE & CONTENT ===== */

.ebm-upcoming-events .row.up-event-item {
  gap: 10px; /* reduce from 15px → tighter */
}

.ebm-upcoming-events .col-md-9 {
  padding-left: 8px; /* reduce space */
}

/* ===== MAKE CALENDAR MORE COMPACT ===== */

.ebm-upcoming-events .col-md-3 {
  flex: 0 0 60px;
  max-width: 60px;
}

.ebm-event-date {
  width: 55px;
  height: 65px;
}

/* Fine tune text spacing */
.ebm-event-link {
  margin-bottom: 4px;
}
/* ===== FIX CALENDAR LAYOUT ===== */

.ebm-event-date {
  display: flex;
  flex-direction: column;
}

/* Month (top bar bigger) */
.ebm-event-month {
  height: 28px;              /* increased height */
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  letter-spacing: 1px;
}

/* Date (perfect center) */
.ebm-event-day {
  flex: 1;                  /* take remaining space */
  display: flex;
  align-items: center;      /* vertical center */
  justify-content: center;  /* horizontal center */
  font-size: 20px;
  font-weight: 700;
}
/* ===== FIX OUTER STRUCTURE ===== */

.homepage-featured-events .row {
  margin: 0 !important;
}

.homepage-featured-events .up-event-item {
  display: block !important;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  padding: 0;
}

/* Force stacking */
.homepage-featured-events .up-event-item {
  display: flex;
  flex-direction: column;
}

/* ===== IMAGE FIX ===== */

.homepage-featured-events .eb-event-thumb {
  width: 100%;
  object-fit: cover;
  border-radius: 0;
  display: block;
}

/* ===== TITLE STYLE ===== */
.homepage-featured-events .eb-event-title-container {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.homepage-featured-events .eb-event-title-container h2,
.homepage-featured-events .eb-event-title {
  margin-top: 0 !important;
}
.homepage-featured-events .eb-event-title {
  font-size: 24px;
  font-weight: 500;
  color: #E05A31;
  text-decoration: none;
  margin-bottom: 20px;
}

.homepage-featured-events .eb-event-title:hover {
  color: #ff5a1f;
}

/* ===== FIX CONTENT OVERFLOW ===== */

.homepage-featured-events .up-event-item * {
  max-width: 100%;
  box-sizing: border-box;
}

/* Remove category icon */
.homepage-featured-events .eb-event-category .fa {
  display: none;
}

/* ===== DESCRIPTION ===== */

.homepage-featured-events .eb-event-short-description {
  margin-top: 10px;
  font-size: 14px;
  line-height: 1.5;
  margin-left: 10px;
}

/* ===== BUTTONS ===== */

.homepage-featured-events .eb-taskbar ul {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 0;
  margin-top: 12px;
  list-style: none;
}

/* ===== MOBILE ===== */

@media (max-width: 768px) {

  .homepage-featured-events .eb-event-thumb {
    height: 200px;
  }

  .homepage-featured-events .eb-event-category,
  .homepage-featured-events .eb-event-date-time,
  .homepage-featured-events .eb-event-location {
    display: block;
    white-space: normal;
  }
}




--------------------
/* ===== MAKE STRUCTURE CONTROLLED ===== */

.homepage-featured-events .up-event-item {
  display: flex;
  flex-direction: column;
}

/* ===== RESET ALL ORDERS FIRST ===== */

.homepage-featured-events .up-event-item > * {
  order: unset !important;
}

/* ===== SET CORRECT ORDER ===== */

/* Image */
.homepage-featured-events .up-event-item > .clearfix {
  order: 1;
}

/* Category */
.homepage-featured-events .eb-event-category {
  order: 3;
}

/* Date */
.homepage-featured-events .eb-event-date-time {
  order: 4;
}

/* Location */
.homepage-featured-events .eb-event-location-price {
  order: 5;
}

/* Description */
.homepage-featured-events .eb-event-short-description {
  order: 6;
}

/* Buttons */
.homepage-featured-events .eb-taskbar {
  order: 7;
}

/* ===== META IN ONE LINE ===== */

.homepage-featured-events .eb-event-category,
.homepage-featured-events .eb-event-date-time,
.homepage-featured-events .eb-event-location {
  display: inline-block;
  font-size: 14px;
  color: #666;
  margin-left: 10px;
  margin-top: 10px;
  white-space: nowrap;
}

/* Keep all meta in one row */
.homepage-featured-events .eb-event-category,
.homepage-featured-events .eb-event-date-time,
.homepage-featured-events .eb-event-location-price {
  display: inline-block;
}

/* Fix location wrapper */
.homepage-featured-events .eb-event-location-price {
  display: inline-block;
}

.homepage-featured-events .eb-event-location {
  display: inline-block;
}

/* Remove category icon */
.homepage-featured-events .eb-event-category .fa {
  display: none;
}

/* Optional: align meta nicely */
.homepage-featured-events .eb-event-category,
.homepage-featured-events .eb-event-date-time,
.homepage-featured-events .eb-event-location {
  vertical-align: middle;
}
/* =========================================
   MODERN JOOMLA LOGIN / REGISTER DESIGN
========================================= */


/* ===== PAGE BACKGROUND ===== */

body.com-users {
    background: url("https://vishvasmeditation.org/images/backgroung-bg.jpeg") center center / cover no-repeat fixed;
    min-height: 100vh;
    position: relative;
}

/* ===== DARK OVERLAY ===== */

body.com-users::before {
    content: "";
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.45);
    z-index: 0;
}

/* ===== CENTER SECTION ===== */

.com-users-login.login,
.com-users-registration.registration,
.com-users-reset.reset,
.com-users-remind.remind {
    min-height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 2;
    padding: 40px 20px;
}

/* ===== REMOVE DEFAULT WIDTH ===== */

.com-users-login .row,
.com-users-registration .row,
.com-users-reset .row,
.com-users-remind .row {
    width: 100%;
    justify-content: center;
}

/* ===== REMOVE BOOTSTRAP COLUMN LIMIT ===== */

.com-users-login .col-lg-4,
.com-users-registration .col-lg-4,
.com-users-reset .col-lg-4,
.com-users-remind .col-lg-4 {
    width: 100%;
    max-width: 460px;
    flex: 0 0 460px;
}

/* =========================================
   FORM AREA
========================================= */

.com-users-login__form,
.com-users-registration__form,
.com-users-reset fieldset,
.com-users-remind fieldset {

    background: rgba(255,255,255,0.50);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);

    border: 1px solid rgba(255,255,255,0.18);

    border-radius: 28px;

    padding: 38px;

    box-shadow:
        0 10px 40px rgba(0,0,0,0.25),
        inset 0 1px 1px rgba(255,255,255,0.15);

    position: relative;
}

/* =========================================
   HEADINGS OUTSIDE CARD
========================================= */

.com-users-login__form::before {
    content: "Welcome Back";
}

.com-users-registration__form::before {
    content: "Create Your Account";
}

.com-users-reset fieldset::before {
    content: "Reset Password";
}

.com-users-remind fieldset::before {
    content: "Forgot Username";
}

.com-users-login__form::before,
.com-users-registration__form::before,
.com-users-reset fieldset::before,
.com-users-remind fieldset::before {

    position: absolute;

    top: -95px;
    left: 50%;
    transform: translateX(-50%);

    width: 100%;

    text-align: center;

    color: #ffffff;

    font-size: 42px;

    font-weight: 700;

    letter-spacing: -0.5px;

    text-shadow: 0 4px 20px rgba(0,0,0,0.35);
}

/* ===== SUBTITLE ===== */

.com-users-login__form::after {
    content: "Login to continue your meditation journey";
}

.com-users-registration__form::after {
    content: "Join the Vishvas Meditation community";
}

.com-users-login__form::after,
.com-users-registration__form::after {

    position: absolute;

    top: -45px;
    left: 50%;

    transform: translateX(-50%);

    width: 100%;

    text-align: center;

    color: rgba(255,255,255,0.82);

    font-size: 17px;

    font-weight: 400;
}

/* ===== REMOVE DEFAULT TITLES ===== */

.com-users-login h1,
.com-users-registration legend,
.com-users-reset legend,
.com-users-remind legend {
    display: none;
}

/* =========================================
   LABELS
========================================= */

.com-users-login label,
.com-users-registration label,
.com-users-reset label,
.com-users-remind label {

    display: block;

    margin-bottom: 8px;

    color: #ffffff;

    font-size: 13px;

    font-weight: 600;

    letter-spacing: 0.6px;

    text-transform: uppercase;
}

/* ===== FORM SPACING ===== */

.control-group {
    margin-bottom: 20px;
}

/* =========================================
   INPUTS
========================================= */
/* =====================================
   INPUT FIELDS ONLY
===================================== */

.com-users-login input[type="text"],
.com-users-login input[type="password"],
.com-users-login input[type="email"],

.com-users-registration input[type="text"],
.com-users-registration input[type="password"],
.com-users-registration input[type="email"],

.com-users-reset input[type="text"],
.com-users-reset input[type="email"],

.com-users-remind input[type="text"],
.com-users-remind input[type="email"] {

    width: 100%;

    height: 54px;

    border: 1px solid rgba(255,255,255,0.18);

    border-radius: 14px;

    background: rgba(255,255,255,0.92);

    padding: 0 16px;

    font-size: 15px;

    color: #222;

    box-sizing: border-box;
}
/* ===== INPUT FOCUS ===== */

.com-users-login input:focus,
.com-users-registration input:focus,
.com-users-reset input:focus,
.com-users-remind input:focus {

    outline: none;

    border-color: #ff8b5c;

    box-shadow: 0 0 0 4px rgba(255,139,92,0.18);
}

/* =========================================
   PASSWORD GROUP
========================================= */

.input-group {

    display: flex;

    align-items: center;

    background: rgba(255,255,255,0.92);

    border-radius: 14px;

    overflow: hidden;
}

.input-group input {

    border: none !important;

    background: transparent !important;
}

.input-group button,
.input-group-text {

    width: 50px;

    border: none;

    background: transparent;

    color: #666;
}

/* =========================================
   BUTTON
========================================= */

.btn-primary,
button[type="submit"] {

    width: 100%;

    height: 56px;

    border: none;

    border-radius: 16px;

    background: linear-gradient(135deg, #ff6b35, #e63900);

    color: #fff;

    font-size: 16px;

    font-weight: 600;

    letter-spacing: 0.4px;

    transition: all 0.25s ease;

    margin-top: 10px;
}

/* ===== BUTTON HOVER ===== */

.btn-primary:hover,
button[type="submit"]:hover {

    transform: translateY(-2px);

    box-shadow: 0 8px 24px rgba(230,57,0,0.35);
}

/* =========================================
   LINKS
========================================= */

.com-users-login a,
.com-users-registration a,
.com-users-reset a,
.com-users-remind a {

    color: #ffffff;

    text-decoration: none;
}

.com-users-login a:hover,
.com-users-registration a:hover,
.com-users-reset a:hover,
.com-users-remind a:hover {

    text-decoration: underline;
}

/* ===== OPTIONS ===== */

.com-users-login__options {

    margin-top: 24px;

    background: rgba(255,255,255,0.08);

    border-radius: 16px;

    overflow: hidden;
}

.com-users-login__options .list-group-item {

    background: transparent;

    border-color: rgba(255,255,255,0.08);
}

/* =========================================
   MOBILE
========================================= */

@media (max-width: 768px) {

    .com-users-login .col-lg-4,
    .com-users-registration .col-lg-4,
    .com-users-reset .col-lg-4,
    .com-users-remind .col-lg-4 {

        max-width: 100%;
        flex: 0 0 100%;
    }

    .com-users-login__form,
    .com-users-registration__form,
    .com-users-reset fieldset,
    .com-users-remind fieldset {

        padding: 28px 22px;
    }

    .com-users-login__form::before,
    .com-users-registration__form::before,
    .com-users-reset fieldset::before,
    .com-users-remind fieldset::before {

        font-size: 30px;
        top: -78px;
    }

}

/* =====================================
   FINAL FIXES
===================================== */

/* ===== CARD ===== */

.com-users-login__form,
.com-users-registration__form,
.com-users-reset fieldset,
.com-users-remind fieldset {

    background: rgba(255,255,255,0.50) !important;

    border: 1px solid rgba(255,255,255,0.28);

    border-radius: 26px;

    padding: 40px;

    margin-top: 120px;

    width: 100%;
}

/* =====================================
   HEADING SPACING
===================================== */

.com-users-login__form::before,
.com-users-registration__form::before,
.com-users-reset fieldset::before,
.com-users-remind fieldset::before {

    top: -105px !important;

    line-height: 1.2;
}

/* ===== SUBTITLE ===== */

.com-users-login__form::after,
.com-users-registration__form::after,
.com-users-reset fieldset::after,
.com-users-remind fieldset::after {

    top: -52px !important;

    width: 92%;

    line-height: 1.6;

    font-size: 15px;
}

/* =====================================
   FIX REMEMBER ME
===================================== */

/* remove previous bad styles */

.com-users-login .remember,
.com-users-login .form-check {

    display: block !important;
}

/* only actual checkbox */

.com-users-login input[type="checkbox"] {

    width: 16px !important;
    height: 16px !important;

    margin-right: 8px !important;

    accent-color: #ff5a1f;
}
.com-users-login .form-check-label {

    color: #fff;

    font-size: 14px;

    font-weight: 500;

    text-transform: none;

    letter-spacing: 0;
}
/* label inline */

.com-users-login .remember label {

    display: inline !important;

    color: #fff;

    font-size: 14px;

    font-weight: 500;

    text-transform: none;

    letter-spacing: 0;
}

/* =====================================
   RESET / REMIND BUTTON FIX
===================================== */

.com-users-reset .control-group,
.com-users-remind .control-group {

    margin-bottom: 22px;
}

.com-users-reset .btn-primary,
.com-users-remind .btn-primary {

    width: 100%;

    margin-top: 10px;
}

/* =====================================
   TABLET
===================================== */

@media (max-width: 991px) {

    .com-users-login__form,
    .com-users-registration__form,
    .com-users-reset fieldset,
    .com-users-remind fieldset {

        max-width: 520px;

        padding: 34px 28px;

        margin-top: 130px;
    }

    .com-users-login__form::before,
    .com-users-registration__form::before,
    .com-users-reset fieldset::before,
    .com-users-remind fieldset::before {

        font-size: 36px;

        top: -95px !important;
    }

    .com-users-login__form::after,
    .com-users-registration__form::after,
    .com-users-reset fieldset::after,
    .com-users-remind fieldset::after {

        top: -42px !important;

        font-size: 14px;
    }
}

/* =====================================
   MOBILE
===================================== */

@media (max-width: 767px) {

    .com-users-login.login,
    .com-users-registration.registration,
    .com-users-reset.reset,
    .com-users-remind.remind {

        padding: 30px 16px;
    }

    .com-users-login__form,
    .com-users-registration__form,
    .com-users-reset fieldset,
    .com-users-remind fieldset {

        padding: 26px 18px;

        border-radius: 22px;

        margin-top: 120px;
    }

    .com-users-login__form::before,
    .com-users-registration__form::before,
    .com-users-reset fieldset::before,
    .com-users-remind fieldset::before {

        font-size: 28px;

        top: -82px !important;

        width: 100%;
    }

    .com-users-login__form::after,
    .com-users-registration__form::after,
    .com-users-reset fieldset::after,
    .com-users-remind fieldset::after {

        top: -34px !important;

        width: 100%;

        font-size: 13px;

        line-height: 1.5;

        padding: 0 10px;
    }

    .com-users-login input,
    .com-users-registration input,
    .com-users-reset input,
    .com-users-remind input {

        height: 50px;
    }

    .btn-primary,
    button[type="submit"] {

        height: 52px;
    }
}
/* =====================================
   PASSWORD EYE ICON FIX
===================================== */

.com-users-login .input-group,
.com-users-registration .input-group {

    display: flex;

    align-items: center;

    width: 100%;

    background: rgba(255,255,255,0.92);

    border-radius: 14px;

    overflow: hidden;
}

/* password input */

.com-users-login .input-group input,
.com-users-registration .input-group input {

    flex: 1;

    width: auto !important;

    border: none !important;

    background: transparent !important;

    box-shadow: none !important;
}

/* eye button */

.com-users-login .input-group-text,
.com-users-login .input-group button,

.com-users-registration .input-group-text,
.com-users-registration .input-group button {

    width: 54px;

    min-width: 54px;

    height: 54px;

    border: none;

    background: transparent;

    display: flex;

    align-items: center;

    justify-content: center;

    color: #666;
}

/* =========================================
   MODERN PROFILE PAGE UI
========================================= */

/* ===== PROFILE PAGE BACKGROUND ===== */

.com-users-profile.profile {

    position: relative;

    padding-top: 220px;

    padding-bottom: 60px;

    z-index: 1;
}

/* full width banner */

.com-users-profile.profile::before {

    content: "";

    position: absolute;

    top: 0;
    left: 50%;

    transform: translateX(-50%);

    width: 100vw;

    height: 300px;

    background:
        linear-gradient(rgba(0,0,0,0.35), rgba(0,0,0,0.35)),
        url("https://vishvasmeditation.org/images/backgroung-bg.jpeg");

    background-size: cover;

    background-position: center;

    border-radius: 0 0 40px 40px;

    z-index: 0;
}

/* =========================================
   MAIN PROFILE CARD
========================================= */

#users-profile-core {

    position: relative;

    z-index: 2;

    margin-top: 40px;

    background: rgba(255,255,255,0.95);

    border-radius: 28px;

    padding: 40px;

    box-shadow: 0 10px 40px rgba(0,0,0,0.12);
}

/* =========================================
   PROFILE AVATAR
========================================= */

#users-profile-core::before {

    content: "\f007";
font-family: "Font Awesome 6 Free";
font-weight: 900;

    position: absolute;

    top: -55px;

    left: 40px;

    width: 110px;

    height: 110px;

    border-radius: 50%;

    background: #ffffff;

    color: #e63900;

    display: flex;

    align-items: center;

    justify-content: center;

    font-size: 34px;

    font-weight: 700;

    border: 6px solid #fff;

    box-shadow: 0 12px 30px rgba(0,0,0,0.15);

    z-index: 10;
}

/* =========================================
   PROFILE TOP AREA
========================================= */

#users-profile-core .d-flex {

    margin-top: 40px;

    margin-bottom: 30px !important;

    align-items: center;
}

/* title */

#users-profile-core .me-auto strong {

    font-size: 28px;

    color: #222;

    font-weight: 700;
}

/* edit profile button */

#users-profile-core .d-flex a {

    background: linear-gradient(135deg, #ff6b35, #e63900);

    color: #fff;

    padding: 10px 18px;

    border-radius: 14px;

    text-decoration: none;

    font-size: 14px;

    font-weight: 600;

    transition: all 0.25s ease;
}

#users-profile-core .d-flex a:hover {

    transform: translateY(-2px);

    box-shadow: 0 8px 20px rgba(230,57,0,0.25);
}

/* =========================================
   PROFILE INFO LIST
========================================= */

#users-profile-core .list-group {

    gap: 14px;

    display: flex;

    flex-direction: column;
}

#users-profile-core .list-group-item {

    border: none;

    border-radius: 18px;

    background: #f7f8fa;

    padding: 18px 20px;

    font-size: 15px;

    color: #444;

    transition: all 0.2s ease;
}

#users-profile-core .list-group-item:hover {

    transform: translateY(-2px);

    background: #ffffff;

    box-shadow: 0 8px 24px rgba(0,0,0,0.06);
}

/* label */

#users-profile-core .list-group-item strong {

    display: block;

    color: #111;

    font-size: 13px;

    margin-bottom: 4px;

    text-transform: uppercase;

    letter-spacing: 0.6px;
}

/* =========================================
   SETTINGS CARDS
========================================= */

#users-profile-params,
.users-profile-custom-actionlogs,
.users-profile-custom-webauthn,
.users-profile-custom-joomlatoken {

    background: rgba(255,255,255,0.92);

    border-radius: 24px;

    padding: 30px;

    margin-bottom: 25px;

    box-shadow: 0 10px 35px rgba(0,0,0,0.08);
}

/* headings */

#users-profile-params .mb-3 strong,
.users-profile-custom-actionlogs .mb-3 strong,
.users-profile-custom-webauthn .mb-3 strong,
.users-profile-custom-joomlatoken .mb-3 strong {

    font-size: 22px;

    color: #222;

    font-weight: 700;
}

/* descriptions */

.users-profile-custom-joomlatoken .mb-3 div {

    margin-top: 10px;

    color: #666;

    line-height: 1.6;

    font-size: 14px;
}

/* =========================================
   SETTINGS LIST ITEMS
========================================= */

#users-profile-params .list-group-item,
.users-profile-custom-actionlogs .list-group-item,
.users-profile-custom-webauthn .list-group-item,
.users-profile-custom-joomlatoken .list-group-item {

    border: none;

    border-radius: 16px;

    background: #f7f8fa;

    margin-bottom: 12px;

    padding: 16px 18px;

    transition: all 0.2s ease;
}

#users-profile-params .list-group-item:hover,
.users-profile-custom-actionlogs .list-group-item:hover,
.users-profile-custom-webauthn .list-group-item:hover,
.users-profile-custom-joomlatoken .list-group-item:hover {

    background: #fff;

    transform: translateY(-2px);

    box-shadow: 0 8px 24px rgba(0,0,0,0.06);
}

/* =========================================
   MOBILE
========================================= */

@media (max-width: 768px) {

    .com-users-profile.profile {

        padding-top: 180px;
    }

    .com-users-profile.profile::before {

        height: 240px;

        border-radius: 0 0 28px 28px;
    }

        #users-profile-core {

        margin-top: 20px;

        padding: 28px 20px;
    }
    #users-profile-params,
    .users-profile-custom-actionlogs,
    .users-profile-custom-webauthn,
    .users-profile-custom-joomlatoken {

        padding: 24px 18px;

        border-radius: 22px;
    }

#users-profile-core::before {

        width: 84px;

        height: 84px;

        top: -42px;

        left: 24px;

        font-size: 28px;
    }

    #users-profile-core .me-auto strong {

        font-size: 24px;
    }

 #users-profile-core .d-flex {

        margin-top: 30px;

        flex-direction: column;

        align-items: flex-start;

        gap: 14px;
    }

    #users-profile-core .d-flex a {

        width: 100%;

        text-align: center;
    }
}
/* =========================================
   REMOVE BG IMAGE ONLY FOR PROFILE PAGE
========================================= */

body.com-users.view-profile {

    background: #f4f6f9 !important;
}

/* remove overlay only on profile page */

body.com-users.view-profile::before {

    display: none !important;
}
body.com-users.view-profile {

    background: #f4f6f9 !important;
}

/* =====================================================
   MODERN ARTICLE DETAILS PAGE
===================================================== */

/* ===== PAGE BACKGROUND ===== */

body.com-content.view-article {

    background: #f4f6f9 !important;
}

/* ===== MAIN SECTION ===== */

#sp-section-2 {

    padding-top: 50px;
    padding-bottom: 60px;
}

/* ===== ARTICLE CARD ===== */

.article-details {

    background: #ffffff;

    border-radius: 30px;

    padding: 45px;

    box-shadow: 0 12px 40px rgba(0,0,0,0.08);

    position: relative;

    overflow: hidden;
}

/* top glow */

.article-details::before {

    content: "";

    position: absolute;

    top: 0;
    left: 0;

    width: 100%;
    height: 6px;

    background: linear-gradient(90deg,#ff7b54,#ffb26b);
}

/* ===== TITLE ===== */

.article-header h1 {

    font-size: 42px;

    line-height: 1.2;

    font-weight: 700;

    color: #1f2937;

    margin-bottom: 25px;
}

/* ===== ARTICLE INFO ===== */

.article-info {

    display: flex;

    flex-wrap: wrap;

    gap: 14px;

    margin-bottom: 35px;

    padding-bottom: 25px;

    border-bottom: 1px solid #e5e7eb;
}

/* info pills */

.article-info span {

    background: #f8fafc;

    padding: 10px 16px;

    border-radius: 14px;

    font-size: 14px;

    color: #475569;

    display: flex;

    align-items: center;
}

.article-info a {

    color: #e66a3b;

    text-decoration: none;

    font-weight: 600;
}

/* ===== ARTICLE CONTENT ===== */

.article-details [itemprop="articleBody"] {

    font-size: 17px;

    line-height: 1.9;

    color: #374151;
}

/* paragraphs */

.article-details p {

    margin-bottom: 22px;
}

/* headings inside content */

.article-details h2,
.article-details h3,
.article-details h4 {

    margin-top: 40px;

    margin-bottom: 18px;

    color: #111827;

    font-weight: 700;
}

/* strong text */

.article-details strong {

    color: #111827;
}

/* italic quotes */

.article-details em {

    color: #c2410c;

    font-style: italic;
}

/* highlight process title */

.article-details span[style*="font-size: 1.5em"] {

    display: inline-block;

    background: linear-gradient(135deg,#ff7b54,#ffb26b);

    color: #fff !important;

    padding: 10px 20px;

    border-radius: 14px;

    font-weight: 600;

    margin-top: 20px;
}

/* ===== SOCIAL SHARE ===== */

.article-social-share ul {

    display: flex;

    gap: 12px;

    padding: 0;

    margin: 0;
}

.article-social-share li {

    list-style: none;
}

.article-social-share a {

    width: 42px;

    height: 42px;

    border-radius: 50%;

    background: #f3f4f6;

    display: flex;

    align-items: center;

    justify-content: center;

    color: #374151;

    transition: all 0.25s ease;
}

.article-social-share a:hover {

    transform: translateY(-3px);

    background: linear-gradient(135deg,#ff7b54,#ffb26b);

    color: #fff;
}

/* ===== SIDEBAR ===== */

#sp-upcoming-event-sidebar .sp-module {

    background: #ffffff;

    border-radius: 24px;

    padding: 28px;

    margin-bottom: 25px;

    box-shadow: 0 10px 35px rgba(0,0,0,0.07);
}

/* sidebar title */

.sp-module-title {

    font-size: 24px;

    font-weight: 700;

    color: #111827;

    margin-bottom: 24px;
}

/* related articles */

.relateditems {

    padding: 0;

    margin: 0;
}

.relateditems li {

    list-style: none;

    margin-bottom: 14px;
}

.relateditems li a {

    display: block;

    padding: 14px 18px;

    background: #f8fafc;

    border-radius: 14px;

    text-decoration: none;

    color: #374151;

    font-weight: 500;

    transition: all 0.25s ease;
}

.relateditems li a:hover {

    background: linear-gradient(135deg,#ff7b54,#ffb26b);

    color: #fff;

    transform: translateX(4px);
}

/* ===== MOBILE ===== */

@media (max-width: 991px) {

    .article-details {

        padding: 28px;
    }

    .article-header h1 {

        font-size: 30px;
    }

    .article-info {

        flex-direction: column;

        align-items: flex-start;
    }

    #sp-upcoming-event-sidebar {

        margin-top: 30px;
    }
}

@media (max-width: 768px) {

    #sp-section-2 {

        padding-top: 25px;
    }

    .article-details {

        border-radius: 24px;

        padding: 22px;
    }

    .article-header h1 {

        font-size: 26px;
    }

    .article-details [itemprop="articleBody"] {

        font-size: 16px;

        line-height: 1.8;
    }

    .sp-module {

        border-radius: 22px;
    }
}