:root {
  --brand-orange: #e97713;
  --brand-orange-hover: #cf4700;
  --brand-deep: #3a2118;
  --brand-cream: #fff9ef;
  --brand-green: #558c38;
}
body {
  color: #2d2724;
  font-family: Inter, "Noto Sans Devanagari", sans-serif;
  background-color: #fcfbfa;
}
header {
  background: #fffcf7;
}
.brand-mark,
.text-brand {
  color: var(--brand-orange);
}
.brand-mark {
  font-size: 2rem;
}
.brand-name,
.hero-title,
.section-title {
  color: var(--brand-deep);
  /* font-family: "DM Serif Display", "Noto Sans Devanagari", serif; */
}
.brand-name {
  font-size: 1.5rem;
  line-height: 1;
}
.brand-tag {
  font-size: 0.55rem;
  letter-spacing: 0.04em;
  margin-top: 0.25rem;
}
.navbar .nav-link {
  color: #2d2724;
}
.navbar .nav-link.active,
.navbar .nav-link:hover {
  color: var(--brand-orange);
}
.btn-brand {
  background: var(--brand-orange);
  border-color: var(--brand-orange);
  color: white;
}
.btn-brand:hover,
.btn-brand:focus {
  background: #cf6306;
  border-color: #cf6306;
  color: white;
}
.btn-outline-brand {
  border-color: #db9a61;
  color: var(--brand-orange);
}
.btn-outline-brand:hover {
  background: var(--brand-orange);
  border-color: var(--brand-orange);
  color: white;
}
.hero-section {
  background: #fff3dc;
  min-height: 32rem;
}
.hero-image {
  inset: 0;
  object-fit: cover;
  object-position: top;
}
.hero-overlay {
  background: linear-gradient(
    90deg,
    rgba(240 167 42 / 97%) 0%,
    rgba(255, 248, 236, 0.78) 38%,
    rgba(255, 248, 236, 0.1) 70%
  );
}
.min-vh-50 {
  min-height: 30rem;
}
.hero-title {
  font-size: clamp(2.8rem, 4vw, 3.35rem);
  line-height: 1.08;
}
.search-card {
  border-radius: 0.85rem;
  max-width: 42rem;
}
.search-fields {
  align-items: end;
  display: grid;
  gap: 0.75rem;
  grid-template-columns: minmax(10.5rem, 1fr) minmax(10.5rem, 1.1fr) auto;
}
.search-fields .btn {
  min-height: 2.75rem;
  min-width: 9.5rem;
  white-space: nowrap;
}
.form-control,
.form-select {
  min-height: 2.75rem;
}
.section-title::after {
  color: var(--brand-orange);
  content: "✦";
  display: block;
  font-family: Inter, sans-serif;
  font-size: 1rem;
  margin-top: 0.35rem;
}
.puja-card {
  border-color: #f2e7d8;
  color: #2d2724;
  background: #fffcf7;
  transition:
    transform 0.2s ease,
    border-color 0.2s ease;
}
.puja-card:hover {
  border-color: #e9b77e;
  transform: translateY(-3px);
}
.puja-card i {
  color: var(--brand-orange);
  display: block;
  font-size: 1.8rem;
}
.puja-card span {
  font-size: 0.72rem;
  font-weight: 600;
  line-height: 1.35;
}
.section-soft {
  background: #fffcf7;
      background: linear-gradient(90deg, rgba(240 167 42 / 97%) 0%, rgba(255, 248, 236, 0.78) 38%, rgba(255, 248, 236, 0.1) 70%);
}
.feature-icon,
.process-icon {
  align-items: center;
  background: #eff7e9;
  border-radius: 50%;
  color: var(--brand-green);
  display: inline-flex;
  height: 3.4rem;
  justify-content: center;
  width: 3.4rem;
  font-size: 1.4rem;
}
.process-card {
  border-color: #f4ede4;
}
.process-icon {
  background: #fff7de;
  color: #b26a13;
  flex: 0 0 auto;
}
.pandit-cta {
  background: #fff1dc;
  border: 1px solid #f1d4ad !important;
}
.cta-icon {
  color: #ba6e15;
  font-size: 2.8rem;
}
footer {
  background: #30201a;
  color: #c7b9b0;
}
@media (max-width: 991.98px) {
  .navbar-collapse {
    padding-bottom: 1rem;
  }
  .hero-image {
    object-position: 63% center;
  }
  .hero-overlay {
    background: linear-gradient(
      90deg,
      rgba(255, 248, 236, 0.97),
      rgba(255, 248, 236, 0.7)
    );
  }
}
@media (max-width: 767.98px) {
  .search-fields {
    grid-template-columns: 1fr;
  }
  .search-fields .btn {
    width: 100%;
  }
}
@media (max-width: 575.98px) {
  .min-vh-50 {
    min-height: 36rem;
  }
  .hero-title {
    font-size: 2.7rem;
  }
  .brand-name {
    font-size: 1.3rem;
  }
}
.hero-eyebrow {
    display: inline-flex;
    align-items: center;
    padding: 0.4rem 0.75rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(233, 119, 19, 0.18);
    color: var(--brand-orange-dark);
    font-size: 0.78rem;
    font-weight: 700;
}
.trust-strip {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2rem;
    flex-wrap: wrap;
    padding: 1rem 1.25rem;
    border: 1px solid #f1e6d9;
    border-radius: 0.9rem;
    background: #fcbe0b;
    color: #000000;
    font-size: 0.82rem;
}


.pandit-card {
        border-radius: 0.75rem;
        border: 1px solid #e9ecef;
        transition: box-shadow 0.2s ease;
      }
      .pandit-card:hover {
        box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.08);
      }
      .pandit-avatar {
        width: 110px;
        height: 110px;
        object-fit: cover;
        border-radius: 0.5rem;
      }
      .badge-verified {
        background-color: #e8f5e9;
        color: #2e7d32;
        font-weight: 600;
        font-size: 0.75rem;
        padding: 0.2rem 0.5rem;
        border-radius: 0.25rem;
      }
      .sidebar-filter {
        border-radius: 0.75rem;
        border: 1px solid #e9ecef;
      }
      .bookmark-btn {
        color: #adb5bd;
        font-size: 1.25rem;
        cursor: pointer;
      }
      .bookmark-btn:hover {
        color: var(--brand-orange);
      }

       .profile-container {
        max-width: 680px;
        margin: 0 auto;
      }
      .profile-avatar {
        width: 110px;
        height: 110px;
        object-fit: cover;
        border-radius: 0.75rem;
      }
      .badge-verified {
        background-color: #e8f5e9;
        color: #2e7d32;
        font-weight: 600;
        font-size: 0.78rem;
        padding: 0.25rem 0.6rem;
        border-radius: 0.35rem;
        display: inline-flex;
        align-items: center;
      }
      .service-chip {
        background-color: #f8f9fa;
        border: 1px solid #e9ecef;
        border-radius: 0.5rem;
        padding: 0.4rem 0.85rem;
        font-size: 0.875rem;
        color: #333;
        display: inline-block;
      }
      .review-card {
        background-color: #f8f9fa;
        border-radius: 0.75rem;
        border: 1px solid #f1f3f5;
      }
      .reviewer-avatar {
        width: 40px;
        height: 40px;
        border-radius: 50%;
        object-fit: cover;
      }
      .bottom-cta-bar {
        position: sticky;
        bottom: 0;
        background: #ffffff;
        border-top: 1px solid #eaeaea;
        box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.05);
        z-index: 1000;
      }

      .breadcrumb-item + .breadcrumb-item::before {
        content: "›";
        font-size: 1.1rem;
        line-height: 1;
        vertical-align: middle;
      }
      .page-hero {
        background: radial-gradient(circle at top right, #fff5e6 0%, #fffcf7 100%);
      }
      .top-search-bar {
        background: #ffffff;
        border: 1px solid #f1e4d8;
        border-radius: 0.75rem;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);
      }
      .pandit-card {
        border-radius: 0.75rem;
        border: 1px solid #ebdcd0;
        transition: box-shadow 0.2s ease, border-color 0.2s ease;
      }
      .pandit-card:hover {
        border-color: #dfc2aa;
        box-shadow: 0 6px 16px rgba(0, 0, 0, 0.05);
      }
      .pandit-avatar {
        width: 110px;
        height: 125px;
        object-fit: cover;
        border-radius: 0.5rem;
      }
      .badge-verified-green {
        background-color: #e8f5e9;
        color: #2e7d32;
        font-size: 0.72rem;
        font-weight: 600;
        padding: 0.2rem 0.55rem;
        border-radius: 0.35rem;
      }
      .badge-availability {
        background-color: #e8f5e9;
        color: #2e7d32;
        font-size: 0.75rem;
        font-weight: 500;
        padding: 0.35rem 0.65rem;
        border-radius: 0.35rem;
        display: inline-flex;
        align-items: center;
      }
      .sidebar-filter-card {
        border-radius: 0.75rem;
        border: 1px solid #ebdcd0;
        background-color: #ffffff;
      }
      .bookmark-btn {
        background: none;
        border: none;
        padding: 0;
        color: #b0b0b0;
        font-size: 1.25rem;
        cursor: pointer;
        position: relative;
        transition: transform 0.15s ease, color 0.15s ease;
      }
      .bookmark-btn:hover {
        color: var(--brand-orange, #e05a00);
        transform: scale(1.1);
      }
      .bookmark-btn.saved {
        color: var(--brand-orange, #e05a00);
      }
      .saved-tooltip {
        position: absolute;
        bottom: 125%;
        right: 0;
        background: #1e293b;
        color: #ffffff;
        font-size: 0.75rem;
        font-weight: 500;
        padding: 0.35rem 0.65rem;
        border-radius: 0.35rem;
        white-space: nowrap;
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.2s ease;
        box-shadow: 0 4px 10px rgba(0,0,0,0.15);
      }
      .saved-tooltip.show {
        opacity: 1;
        visibility: visible;
      }
      .saved-toast {
        background-color: #e8f5e9;
        border: 1px solid #a5d6a7;
        color: #1b5e20;
        border-radius: 0.5rem;
      }
      .user-avatar-btn {
        width: 38px;
        height: 38px;
        border-radius: 50%;
        background-color: #475569;
        color: #ffffff;
        font-weight: 600;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 0.9rem;
        text-decoration: none;
      }
      .user-profile-menu {
        min-width: 230px;
        border-radius: 0.75rem;
        border: 1px solid #e2e8f0;
        box-shadow: 0 10px 25px rgba(0,0,0,0.08);
      }
      .pagination .page-link {
        color: #4a4a4a;
        border-color: #e2e2e2;
        padding: 0.375rem 0.75rem;
        font-size: 0.875rem;
      }
      .pagination .page-item.active .page-link {
        background-color: var(--brand-orange);
        border-color: var(--brand-orange);
        color: white;
      }
      .form-check-input:checked {
        background-color: var(--brand-orange);
        border-color: var(--brand-orange);
      }
      .breadcrumb-item + .breadcrumb-item::before {
        content: "›";
        font-size: 1.1rem;
        line-height: 1;
        vertical-align: middle;
      }
      
      /* Page Banner Design */
      .hero-banner {
        background: linear-gradient(180deg, #fff2e6 0%, #fdfbf8 100%);
        position: relative;
      }
      .hero-tagline {
        position: absolute;
        right: 0;
        top: 0;
        text-align: right;
        font-style: italic;
        color: #7a6858;
      }

      /* Search Bar Styling */
      .top-search-card {
        background: #ffffff;
        border: 1px solid #ebdcd0;
        border-radius: 0.5rem;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
      }
      .btn-search-orange {
        background-color: var(--brand-orange);
        color: #ffffff;
        border: none;
        font-weight: 500;
      }
      .btn-search-orange:hover {
        background-color: var(--brand-orange-hover);
        color: #ffffff;
      }

      /* Pandit Card Styling */
      .pandit-card {
        border-radius: 0.5rem;
        border: 1px solid #e0e0e0;
        transition: box-shadow 0.2s ease;
      }
      .pandit-card:hover {
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
      }
      .pandit-avatar {
        width: 120px;
        height: 135px;
        object-fit: cover;
        border-radius: 0.35rem;
      }
      .badge-verified-soft {
        background-color: #e8f5e9;
        color: #2e7d32;
        font-size: 0.72rem;
        font-weight: 600;
        padding: 0.2rem 0.55rem;
        border-radius: 1rem;
      }
      .badge-highlight-tag {
        background-color: #fff3e0;
        color: #d84315;
        font-size: 0.75rem;
        font-weight: 600;
        padding: 0.25rem 0.6rem;
        border-radius: 0.25rem;
        display: inline-block;
      }

      /* Availability Box */
      .availability-box {
        background-color: #f1f8e9;
        border-radius: 0.35rem;
        padding: 0.4rem 0.75rem;
        text-align: center;
        color: #2e7d32;
        font-size: 0.75rem;
        font-weight: 600;
      }
      .btn-orange-cta {
        background-color: var(--brand-orange);
        color: #ffffff;
        border: none;
        font-weight: 500;
        border-radius: 0.35rem;
      }
      .btn-orange-cta:hover {
        background-color: var(--brand-orange-hover);
        color: #ffffff;
      }

      /* Sidebar Filters */
      .sidebar-filter-card {
        border-radius: 0.5rem;
        border: 1px solid #e0e0e0;
        background-color: #ffffff;
      }
      .accordion-button:not(.collapsed) {
        background-color: transparent;
        color: inherit;
        box-shadow: none;
      }
      .accordion-button:focus {
        box-shadow: none;
      }

      /* Bookmark & Interaction States */
      .bookmark-btn {
        background: none;
        border: none;
        padding: 0;
        color: #9e9e9e;
        font-size: 1.35rem;
        cursor: pointer;
        position: relative;
        transition: transform 0.15s ease, color 0.15s ease;
      }
      .bookmark-btn:hover {
        color: var(--brand-orange);
        transform: scale(1.1);
      }
      .bookmark-btn.saved {
        color: var(--brand-orange);
      }
      .saved-tooltip {
        position: absolute;
        bottom: 125%;
        right: 0;
        background: #1e293b;
        color: #ffffff;
        font-size: 0.75rem;
        font-weight: 500;
        padding: 0.35rem 0.65rem;
        border-radius: 0.35rem;
        white-space: nowrap;
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.2s ease;
        box-shadow: 0 4px 10px rgba(0,0,0,0.15);
      }
      .saved-tooltip.show {
        opacity: 1;
        visibility: visible;
      }
      .saved-toast {
        background-color: #e8f5e9;
        border: 1px solid #a5d6a7;
        color: #1b5e20;
        border-radius: 0.5rem;
      }
      .user-avatar-btn {
        width: 38px;
        height: 38px;
        border-radius: 50%;
        background-color: #475569;
        color: #ffffff;
        font-weight: 600;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 0.9rem;
        text-decoration: none;
      }
      .user-profile-menu {
        min-width: 230px;
        border-radius: 0.75rem;
        border: 1px solid #e2e8f0;
        box-shadow: 0 10px 25px rgba(0,0,0,0.08);
      }
      .pagination .page-link {
        color: #555555;
        border-color: #e0e0e0;
      }
      .pagination .page-item.active .page-link {
        background-color: var(--brand-orange);
        border-color: var(--brand-orange);
        color: #ffffff;
      }
      .form-check-input:checked {
        background-color: var(--brand-orange);
        border-color: var(--brand-orange);
      }

      /* Custom Profile Layout Enhancements */
.bg-light-soft {
  background-color: #faf8f5;
}

.max-w-1100 {
  max-width: 1100px;
}

.text-orange {
  color: var(--brand-orange);
}

.bg-orange {
  background-color: var(--brand-orange) !important;
}

.bg-soft-orange {
  background-color: #fff8f0;
}

.bg-soft-orange-light {
  background-color: #fff4ea;
}

.card-custom {
  border: 1px solid #f0e6dd;
  border-radius: 0.75rem;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.02);
  background-color: #ffffff;
}

.profile-avatar-lg {
  width: 120px;
  height: 135px;
  object-fit: cover;
  border-radius: 0.5rem;
}

.sidebar-pandit-avatar {
  width: 65px;
  height: 75px;
  object-fit: cover;
  border-radius: 0.35rem;
}

.badge-availability-soft {
  background-color: #e8f5e9;
  color: #2e7d32;
  font-size: 0.72rem;
  font-weight: 500;
  padding: 0.2rem 0.5rem;
  border-radius: 0.25rem;
}

.service-chip {
  background-color: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 0.375rem;
  padding: 0.35rem 0.75rem;
  font-size: 0.8rem;
  color: #475569;
  font-weight: 500;
}

.service-chip.active {
  border-color: var(--brand-orange);
  color: var(--brand-orange);
  background-color: #fff9f5;
}

.extra-small {
  font-size: 0.78rem;
}

.rating-label {
  width: 110px;
}

.avatar-circle {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  font-size: 0.85rem;
}

.bg-soft-blue { background-color: #e0f2fe; }
.bg-soft-purple { background-color: #f3e8ff; }
.bg-soft-indigo { background-color: #e0e7ff; }

.badge-tag {
  background-color: #f1f5f9;
  color: #64748b;
  font-size: 0.68rem;
  padding: 0.15rem 0.4rem;
  border-radius: 0.2rem;
}

.cta-phone-icon {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: #ffe8d6;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
  flex-shrink: 0;
}

.btn-xs {
  font-size: 0.72rem;
  padding: 0.2rem 0.5rem;
}

@media (min-width: 768px) {
  .border-end-md {
    border-right: 1px solid #e2e8f0;
  }
}

/* Registration Page Custom Scaffolding & Overrides */
      .top-subnav {
        background-color: #fff9f0;
        border-bottom: 1px solid #f2e3d5;
        font-size: 0.85rem;
      }

      .step-progress {
        display: flex;
        justify-content: space-between;
        align-items: center;
        position: relative;
        max-width: 780px;
        margin: 0 auto;
      }

      .step-progress::before {
        content: "";
        position: absolute;
        top: 20px;
        left: 5%;
        right: 5%;
        height: 2px;
        background-color: #e9ecef;
        z-index: 1;
      }

      .step-item {
        position: relative;
        z-index: 2;
        text-align: center;
        background-color: #fcfbfa;
        padding: 0 0.5rem;
      }

      .step-number {
        width: 40px;
        height: 40px;
        border-radius: 50%;
        background-color: #ffffff;
        border: 2px solid #dee2e6;
        color: #6c757d;
        display: flex;
        align-items: center;
        justify-content: center;
        font-weight: 700;
        margin: 0 auto 0.5rem;
        transition: all 0.2s ease;
      }

      .step-item.active .step-number {
        background-color: var(--brand-orange);
        border-color: var(--brand-orange);
        color: #ffffff;
        box-shadow: 0 0 0 4px rgba(233, 119, 19, 0.2);
      }

      .step-label {
        font-size: 0.8rem;
        font-weight: 500;
        color: #6c757d;
      }

      .step-item.active .step-label {
        color: var(--brand-orange);
        font-weight: 700;
      }

      .registration-card {
        background-color: #ffffff;
        border: 1px solid #ebdcd0;
        border-radius: 1rem;
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03);
        overflow: hidden;
      }

      .community-banner-card {
        background: radial-gradient(circle at top right, #fff5e6 0%, #fff8f0 100%);
        border: 1px solid #f5e4d5;
        border-radius: 0.85rem;
      }

      .feature-circle-icon {
        width: 42px;
        height: 42px;
        border-radius: 50%;
        background-color: #e8f5e9;
        color: #2e7d32;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1.2rem;
        flex-shrink: 0;
      }

      .right-pandit-img {
        max-width: 100%;
        height: auto;
        filter: drop-shadow(0px 8px 16px rgba(0, 0, 0, 0.08));
      }

      .slogan-divider {
        position: relative;
        text-align: center;
      }

      .slogan-divider::before {
        content: "";
        position: absolute;
        top: 50%;
        left: 0;
        right: 0;
        height: 1px;
        background-color: #ebdcd0;
        z-index: 1;
      }

      .slogan-text {
        position: relative;
        z-index: 2;
        background-color: #fcfbfa;
        padding: 0 1.5rem;
      }

      .country-code-btn {
        background-color: #f8f9fa;
        border: 1px solid #ced4da;
        border-right: none;
      }

      /* Integrated Functionality Elements */
      .verified-mobile {
        display: flex;
        align-items: center;
        justify-content: space-between;
        background: #f2f8ef;
        border: 1px solid #dcebd6;
        border-radius: 7px;
        padding: 11px 13px;
        margin-bottom: 22px;
      }

      .verified-mobile .number {
        font-size: 0.84rem;
        font-weight: 600;
      }

      .verified-mobile .status {
        font-size: 0.75rem;
        color: #43813a;
        font-weight: 600;
      }

      .photo-box {
        display: flex;
        align-items: center;
        gap: 14px;
      }

      .photo-preview {
        width: 62px;
        height: 62px;
        border-radius: 50%;
        background: #fff7ed;
        border: 1px dashed #dfbd9c;
        display: flex;
        align-items: center;
        justify-content: center;
        color: var(--brand-orange);
        font-size: 1.35rem;
        overflow: hidden;
      }

      .photo-preview img {
        width: 100%;
        height: 100%;
        object-fit: cover;
      }

      .upload-btn {
        font-size: 0.78rem;
        color: var(--brand-orange);
        border: 1px solid #e4b58d;
        background: #fff;
        border-radius: 6px;
        padding: 7px 11px;
      }

      .upload-btn:hover {
        background: #fff6ec;
      }

      .chips {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
      }

      .chip input {
        display: none;
      }

      .chip label {
        display: inline-flex;
        align-items: center;
        border: 1px solid #d8dee4;
        background: #fff;
        border-radius: 18px;
        padding: 7px 12px;
        font-size: 0.77rem;
        color: #58636e;
        cursor: pointer;
        transition: 0.15s;
      }

      .chip input:checked + label {
        border-color: #e99a59;
        background: #fff2e5;
        color: #a95814;
        font-weight: 600;
      }

      .otp-area {
        display: none;
      }

      .otp-inputs {
        display: flex;
        gap: 8px;
        margin: 12px 0 20px;
      }

      .otp-input {
        width: 45px;
        height: 48px;
        text-align: center;
        border: 1px solid #ccd3da;
        border-radius: 7px;
        font-size: 1rem;
        font-weight: 600;
      }

      .otp-input:focus {
        outline: none;
        border-color: var(--brand-orange);
        box-shadow: 0 0 0 0.2rem rgba(233, 119, 19, 0.12);
      }

      .link-btn {
        border: 0;
        background: none;
        padding: 0;
        color: var(--brand-orange);
        font-size: 0.77rem;
      }

      .success-state {
        display: none;
        text-align: center;
        padding: 25px 10px;
      }

      .success-icon {
        width: 64px;
        height: 64px;
        border-radius: 50%;
        margin: 0 auto 15px;
        background: #eaf6e6;
        color: #43813a;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1.8rem;
      }