/* ==========================================
       THEME VARIABLES & RESET
       ========================================== */
    :root {
      --primary-orange: #ff701a;
      --primary-orange-hover: #e05d0e;
      --dark-orange: #d95300;
      --text-dark: #1f2937;
      --text-muted: #6b7280;
      --bg-white: #ffffff;
      --border-color: #f3f4f6;
      --shadow-soft: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.05);
      --transition-fast: 0.25s ease;
      --transition-smooth: 0.4s cubic-bezier(0.16, 1, 0.3, 1);
      --shadow-lg: 0 15px 35px -5px rgba(0, 0, 0, 0.3);
      --title-color: #7a2b00;
      --bg-cream: #fbf7f1;
      --card-radius: 20px;
      --shadow-card: 0 12px 25px rgba(0, 0, 0, 0.15);
      --text-body: #555555;
      --card-bg: #ffffff;
      --star-color: #ffb400;
      --card-radius: 20px;
      --shadow-card: 0 6px 20px rgba(0, 0, 0, 0.04);
    } 

    * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
      font-family: 'Poppins', sans-serif;
    }

    html {
      overflow-x: clip;
    }

      body {
      background-color: #fcfbf9; /* Clean light background */

      min-height: 100vh;
      overflow-x: clip;
    }

    /* ==========================================
       PAGE LOADER
       ========================================== */
    .page-loader {
      position: fixed;
      inset: 0;
      z-index: 100000;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 22px;
      background: var(--bg-cream);
      opacity: 1;
      visibility: visible;
      transition: opacity 0.5s ease, visibility 0.5s ease;
    }

    .page-loader.loader-hidden {
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
    }

    .loader-orbit-wrap {
      position: relative;
      width: 108px;
      height: 108px;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    /* Faint static ring showing the orbit path */
    .loader-track {
      position: absolute;
      inset: 0;
      border-radius: 50%;
      border: 2px solid rgba(255, 112, 26, 0.15);
    }

    /* Rotating wrapper -- the dot sits at its edge, so rotating this
       element makes the dot trace a circle around the logo. */
    .loader-orbit {
      position: absolute;
      inset: 0;
      animation: loaderSpin 1.4s linear infinite;
    }

    .loader-dot {
      position: absolute;
      top: -3px;
      left: 50%;
      width: 12px;
      height: 12px;
      margin-left: -6px;
      border-radius: 50%;
      background: var(--primary-orange);
      box-shadow: 0 0 10px rgba(255, 112, 26, 0.55);
    }

    .loader-logo {
      width: 62px;
      height: 62px;
      object-fit: contain;
      border-radius: 50%;
      background: var(--bg-white);
      padding: 8px;
      box-shadow: var(--shadow-card);
      animation: loaderPulse 1.8s ease-in-out infinite;
    }

    .loader-text {
      font-size: 13px;
      font-weight: 600;
      letter-spacing: 0.5px;
      color: var(--text-muted);
      text-transform: uppercase;
    }

    @keyframes loaderSpin {
      to {
        transform: rotate(360deg);
      }
    }

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

    @media (max-width: 480px) {
      .loader-orbit-wrap {
        width: 88px;
        height: 88px;
      }

      .loader-logo {
        width: 50px;
        height: 50px;
      }

      .loader-dot {
        width: 10px;
        height: 10px;
        margin-left: -5px;
      }
    }

    @media (prefers-reduced-motion: reduce) {
      .loader-orbit,
      .loader-logo {
        animation: none;
      }
    }

    /* ==========================================
       HEADER CONTAINER
       ========================================== */
    .site-header {
      position: fixed;
      top: 20px;
      left: 50%;
      transform: translateX(-50%);
      width: 92%;
      max-width: 1320px;
      z-index: 1000;
    }

    .header-inner {
      background: var(--bg-white);
      border-radius: 50px;
      padding: 8px 24px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      box-shadow: var(--shadow-soft);
      transition: all var(--transition-fast);
    }

    /* Logo Styling */
    .logo-container img {
      height: 48px;
      width: auto;
      display: block;
      transition: transform var(--transition-fast);
    }

    .logo-container:hover img {
      transform: scale(1.02);
    }

    /* ==========================================
       DESKTOP NAVIGATION
       ========================================== */
    .desktop-nav {
      display: flex;
      align-items: center;
    }

    .nav-list {
      display: flex;
      list-style: none;
      gap: 22px;
      align-items: center;
    }

    .nav-item {
      position: relative;
    }

    .nav-link {
      text-decoration: none;
      color: var(--text-dark);
      font-family: "Montserrat", sans-serif;
      font-weight: 500;
      font-size: 15px;
      display: flex;
      align-items: center;
      gap: 6px;
      padding: 8px 0;
      transition: color var(--transition-fast);
    }

    .nav-link:hover {
      color: var(--primary-orange);
    }

    .nav-link i {
      font-size: 12px;
      transition: transform var(--transition-fast);
    }

    .nav-item:hover > .nav-link i {
      transform: rotate(180deg);
    }

    /* Dropdown Menu */
    .dropdown-menu {
      position: absolute;
      top: 100%;
      left: 0;
      min-width: 200px;
      background: var(--bg-white);
      border-radius: 14px;
      padding: 10px 0;
      box-shadow: var(--shadow-soft);
      opacity: 0;
      visibility: hidden;
      transform: translateY(12px);
      transition: all var(--transition-fast);
      list-style: none;
      border: 1px solid var(--border-color);
    }

    .nav-item:hover .dropdown-menu {
      opacity: 1;
      visibility: visible;
      transform: translateY(0);
    }

    .dropdown-item a {
      display: block;
      padding: 10px 20px;
      text-decoration: none;
      color: var(--text-dark);
      font-size: 14px;
      font-weight: 500;
      transition: all var(--transition-fast);
    }

    .dropdown-item a:hover {
      background-color: #fff7f2;
      color: var(--primary-orange);
      padding-left: 24px;
    }

    /* ==========================================
       CTA BUTTONS & CONTROLS
       ========================================== */
    .header-actions {
      display: flex;
      align-items: center;
      gap: 12px;
    }

    /* Language Switcher */
    .lang-dropdown-container {
      position: relative;
    }

    .lang-btn {
      border: 1px solid var(--primary-orange);
      background: transparent;
      color: var(--text-dark);
      padding: 8px 16px;
      border-radius: 30px;
      font-weight: 600;
      font-size: 14px;
      cursor: pointer;
      display: flex;
      align-items: center;
      gap: 6px;
      transition: all var(--transition-fast);
    }

    .lang-btn:hover {
      background-color: #fff7f2;
    }

    .lang-menu {
      left: auto;
      right: 0;
      min-width: 120px;
    }

    /* Google Play App Download CTA */
    .app-download-cta {
      display: inline-flex;
      align-items: center;
      text-decoration: none;
      border-radius: 30px;
      overflow: hidden;
      transition: all var(--transition-fast);
    }

    .app-download-cta img {
      height: 42px;
      width: auto;
      display: block;
      transition: transform var(--transition-fast), filter var(--transition-fast);
    }

    .app-download-cta:hover img {
      transform: translateY(-2px) scale(1.03);
      filter: drop-shadow(0 4px 10px rgba(0, 0, 0, 0.15));
    }

    .app-download-cta:active img {
      transform: translateY(0) scale(0.98);
    }

    /* Login Button */
    .btn {
      border: none;
      outline: none;
      padding: 10px 24px;
      border-radius: 30px;
      font-weight: 600;
      font-size: 14px;
      cursor: pointer;
      text-decoration: none;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      transition: all var(--transition-fast);
    }

    .btn-orange {
      background-color: var(--primary-orange);
      color: #ffffff;
      box-shadow: 0 4px 12px rgba(255, 112, 26, 0.3);
    }

    .btn-orange:hover {
      background-color: var(--primary-orange-hover);
      transform: translateY(-1px);
      box-shadow: 0 6px 16px rgba(255, 112, 26, 0.4);
    }

    /* Hamburger Toggle Button */
    .hamburger-btn {
      display: none;
      background: none;
      border: none;
      cursor: pointer;
      padding: 6px;
      flex-direction: column;
      gap: 5px;
    }

    .hamburger-btn span {
      display: block;
      width: 24px;
      height: 3px;
      background-color: var(--text-dark);
      border-radius: 3px;
      transition: all var(--transition-fast);
    }

    .hamburger-btn span:nth-child(2) {
      width: 18px;
    }

    .hamburger-btn span:nth-child(3) {
      width: 12px;
    }

    .hamburger-btn:hover span {
      background-color: var(--primary-orange);
      width: 24px;
    }

    /* ==========================================
       HEADER SEARCH
       ========================================== */
    .search-toggle-btn {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 40px;
      height: 40px;
      border-radius: 50%;
      border: none;
      background: transparent;
      color: var(--text-dark);
      font-size: 16px;
      cursor: pointer;
      flex-shrink: 0;
      transition: all var(--transition-fast);
    }

    .search-toggle-btn:hover,
    .search-toggle-btn:focus-visible {
      background: var(--bg-cream);
      color: var(--primary-orange);
      transform: scale(1.08);
    }

    .search-toggle-btn.active {
      background: rgba(255, 112, 26, 0.14);
      color: var(--primary-orange);
    }

    /* Backdrop -- sits BELOW the floating header (z-index: 1000) on
       purpose, so the header (logo, nav, search icon itself) stays
       visible and clickable while the search panel is open. */
    .search-overlay {
      position: fixed;
      inset: 0;
      background: rgba(20, 12, 4, 0.55);
      backdrop-filter: blur(3px);
      z-index: 950;
      opacity: 0;
      visibility: hidden;
      transition: opacity var(--transition-fast), visibility var(--transition-fast);
    }

    .search-overlay.active {
      opacity: 1;
      visibility: visible;
    }

    /* Sliding panel */
    .search-panel {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      max-height: 88vh;
      overflow-y: auto;
      background: var(--bg-white);
      border-radius: 0 0 28px 28px;
      box-shadow: var(--shadow-lg);
      padding: 108px 40px 44px;
      transform: translateY(-100%);
      transition: transform var(--transition-smooth);
    }

    .search-overlay.active .search-panel {
      transform: translateY(0);
    }

    .search-panel-bar {
      display: flex;
      align-items: center;
      gap: 14px;
      max-width: 760px;
      margin: 0 auto;
      padding: 6px 6px 6px 24px;
      background: var(--bg-cream);
      border: 1.5px solid var(--border-color);
      border-radius: 40px;
      transition: border-color var(--transition-fast), background-color var(--transition-fast), box-shadow var(--transition-fast);
    }

    .search-panel-bar:focus-within {
      border-color: var(--primary-orange);
      background: #ffffff;
      box-shadow: var(--shadow-soft);
    }

    .search-panel-icon {
      color: var(--primary-orange);
      font-size: 18px;
      flex-shrink: 0;
    }

    .search-panel-input {
      flex: 1;
      min-width: 0;
      border: none;
      outline: none;
      background: transparent;
      font-family: inherit;
      font-size: 17px;
      color: var(--text-dark);
      padding: 12px 0;
    }

    .search-panel-input::placeholder {
      color: var(--text-muted);
    }

    /* Search input is a native type="search" -- neutralize the
       browser's default clear-button/decoration so our own close
       icon is the only control shown. */
    .search-panel-input::-webkit-search-cancel-button {
      -webkit-appearance: none;
      appearance: none;
    }

    .search-panel-close {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 40px;
      height: 40px;
      border-radius: 50%;
      border: none;
      background: var(--bg-white);
      color: var(--text-muted);
      font-size: 14px;
      cursor: pointer;
      flex-shrink: 0;
      box-shadow: var(--shadow-card);
      transition: all var(--transition-fast);
    }

    .search-panel-close:hover,
    .search-panel-close:focus-visible {
      background: var(--primary-orange);
      color: #ffffff;
      transform: rotate(90deg);
    }

    .search-panel-body {
      max-width: 900px;
      margin: 36px auto 0;
    }

    .search-panel-heading {
      font-size: 13px;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.6px;
      color: var(--text-muted);
      margin-bottom: 18px;
    }

    .search-panel-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 22px;
    }

    .search-service-card {
      display: flex;
      flex-direction: column;
      gap: 12px;
      text-decoration: none;
      transition: transform var(--transition-smooth);
    }

    .search-service-card:hover {
      transform: translateY(-3px);
    }

    .search-service-thumb {
      display: block;
      width: 100%;
      aspect-ratio: 4 / 4;
      border-radius: var(--card-radius);
      overflow: hidden;
      background: var(--bg-cream);
      box-shadow: var(--shadow-card);
    }

    .search-service-thumb img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
      transition: transform var(--transition-smooth);
    }

    .search-service-card:hover .search-service-thumb img {
      transform: scale(1.06);
    }

    .search-service-title {
      font-size: 14.5px;
      font-weight: 600;
      color: var(--text-dark);
    }

    .search-service-card.search-hidden {
      display: none;
    }

    .search-panel-empty {
      text-align: center;
      color: var(--text-muted);
      font-size: 14px;
      padding: 30px 0 10px;
    }

    /* ==========================================
       MOBILE OVERLAY & SIDEBAR
       ========================================== */
    .mobile-overlay {
      position: fixed;
      inset: 0;
      background: rgba(0, 0, 0, 0.5);
      backdrop-filter: blur(4px);
      opacity: 0;
      visibility: hidden;
      transition: all var(--transition-smooth);
      z-index: 1050;
    }

    .mobile-overlay.active {
      opacity: 1;
      visibility: visible;
    }

    .mobile-sidebar {
      position: fixed;
      top: 0;
      right: 0;
      width: 310px;
      height: 100%;
      background: var(--bg-white);
      z-index: 1100;
      transform: translateX(100%);
      transition: transform var(--transition-smooth);
      box-shadow: -5px 0 25px rgba(0, 0, 0, 0.15);
      display: flex;
      flex-direction: column;
    }

    .mobile-sidebar.active {
      transform: translateX(0);
    }

    .sidebar-header {
      padding: 18px 20px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      border-bottom: 1px solid var(--border-color);
    }

    .sidebar-header img {
      height: 40px;
    }

    .close-btn {
      background: none;
      border: none;
      font-size: 20px;
      color: var(--text-dark);
      cursor: pointer;
      width: 36px;
      height: 36px;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      transition: background var(--transition-fast);
    }

    .close-btn:hover {
      background-color: var(--border-color);
    }

    .sidebar-body {
      padding: 10px 0;
      flex: 1;
      overflow-y: auto;
    }

    .mobile-nav-list {
      list-style: none;
    }

    .mobile-nav-item {
      border-bottom: 1px solid var(--border-color);
    }

    .mobile-nav-link {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 14px 24px;
      text-decoration: none;
      color: var(--text-dark);
      font-weight: 500;
      font-size: 15px;
      transition: background-color var(--transition-fast);
    }

    .mobile-nav-link:hover {
      background-color: #fff7f2;
      color: var(--primary-orange);
    }

    .mobile-submenu {
      max-height: 0;
      overflow: hidden;
      background-color: #fafafa;
      transition: max-height var(--transition-smooth);
    }

    .mobile-submenu a {
      display: block;
      padding: 10px 24px 10px 40px;
      text-decoration: none;
      color: var(--text-muted);
      font-size: 14px;
      transition: color var(--transition-fast);
    }

    .mobile-submenu a:hover {
      color: var(--primary-orange);
    }

    .mobile-dropdown-toggle.active i {
      transform: rotate(180deg);
    }

    .sidebar-footer {
      padding: 20px 20px 70px 20px;
      border-top: 1px solid var(--border-color);
      display: flex;
      flex-direction: column;
      gap: 12px;
      align-items: center;
      background-color: var(--bg-white);
    }

    .sidebar-footer .app-download-cta img {
      height: 48px;
    }

    .sidebar-footer .btn {
      width: 100%;
    }

    /* ==========================================
       MEDIA QUERIES (RESPONSIVE)
       ========================================== */
    @media (max-width: 1080px) {
      .desktop-nav {
        display: none;
      }

      .hamburger-btn {
        display: flex;
      }

      .header-actions .app-download-cta,
      .header-actions .btn {
        display: none;
      }

      .site-header {
        width: 95%;
        top: 12px;
      }

      .header-inner {
        padding: 8px 18px;
      }

      .search-toggle-btn {
        width: 36px;
        height: 36px;
        font-size: 15px;
      }

      .search-panel {
        padding: 92px 20px 32px;
        border-radius: 0 0 22px 22px;
      }

      .search-panel-bar {
        padding: 4px 4px 4px 18px;
      }

      .search-panel-input {
        font-size: 15px;
        padding: 10px 0;
      }

      .search-panel-body {
        margin-top: 26px;
      }

      .search-panel-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
      }
    }

    @media (max-width: 480px) {
      .search-panel {
        padding: 84px 14px 28px;
      }

      .search-panel-close {
        width: 34px;
        height: 34px;
      }

      .search-panel-grid {
        grid-template-columns: 1fr 1fr;
        gap: 12px;
      }

      .search-service-title {
        font-size: 13px;
      }
    }
    /* ==========================================
       HERO CONTAINER & SLIDER
       ========================================== */
    .hero-section {
      position: relative;
      width: 100%;
      min-height: 100vh;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      align-items: center;
      padding-top: 100px;
      padding-bottom: 30px;
      overflow: hidden;
      color: var(--bg-white);
    }

    /* Background Slides */
    .hero-slider {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      z-index: 1;
    }

    .slide {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: #2b1104;
      background-size: cover;
      background-position: center;
      opacity: 0;
      transition: opacity 0.8s ease-in-out;
    }

    .slide.active {
      opacity: 1;
    }

    .hero-slider::after {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(180deg, rgba(0, 0, 0, 0.65) 0%, rgba(0, 0, 0, 0.45) 50%, rgba(0, 0, 0, 0.85) 100%);
    }

    /* Slider Controls */
    .slider-btn {
      position: absolute;
      top: 45%;
      transform: translateY(-50%);
      z-index: 10;
      width: 48px;
      height: 48px;
      border-radius: 50%;
      background: rgba(255, 255, 255, 0.2);
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
      border: 1px solid rgba(255, 255, 255, 0.3);
      color: var(--bg-white);
      font-size: 16px;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      transition: all var(--transition-fast);
    }

    .slider-btn:hover {
      background: var(--primary-orange);
      border-color: var(--primary-orange);
      transform: translateY(-50%) scale(1.08);
      box-shadow: 0 4px 15px rgba(255, 112, 26, 0.4);
    }

    .slider-btn.prev { left: 28px; }
    .slider-btn.next { right: 28px; }

    /* ==========================================
       HERO CONTENT
       ========================================== */
    .hero-content {
      position: relative;
      z-index: 5;
      text-align: center;
      max-width: 850px;
      padding: 40px;
      margin: auto 0;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
    }

    .hero-title {
      font-size: 52px;
      font-weight: 800;
      margin-bottom: 14px;
      text-shadow: 0 4px 12px rgba(0,0,0,0.6);
      line-height: 1.2;
      font-family: "Oleo Script", system-ui !important;
      transition: opacity var(--transition-fast);
    }

    .hero-description {
      font-size: 17px;
      font-weight: 400;
      color: #f3f4f6;
      margin-bottom: 28px;
      line-height: 1.6;
      text-shadow: 0 2px 8px rgba(0,0,0,0.6);
      max-width: 720px;
      transition: opacity var(--transition-fast);
    }

    .hero-cta {
      display: inline-block;
      background: var(--primary-orange);
      color: var(--bg-white);
      padding: 14px 44px;
      font-size: 16px;
      font-weight: 600;
      border-radius: 30px;
      text-decoration: none;
      box-shadow: 0 6px 20px rgba(255, 112, 26, 0.4);
      transition: all var(--transition-fast);
    }

    .hero-cta:hover {
      background: var(--primary-orange-hover);
      transform: translateY(-2px);
      box-shadow: 0 8px 25px rgba(255, 112, 26, 0.6);
    }

    /* ==========================================
       BOTTOM CARDS & MUHURAT CARD
       ========================================== */
    .bottom-cards-wrapper {
      position: relative;
      z-index: 5;
      width: 100%;
      max-width: 1380px;
      padding: 20px;
    }

    .cards-grid {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 16px;
    }

    /* Stat Cards Styling */
    .stat-card {
      background: var(--bg-white);
      border-radius: 20px;
      padding: 16px;
      text-align: center;
      color: var(--text-dark);
      flex: 1;
      max-width: 170px;
      height: 145px;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      box-shadow: var(--shadow-lg);
      transition: transform var(--transition-fast);
      border: 1px solid var(--border-color);
    }

    .stat-card:hover {
      transform: translateY(-4px);
    }

    .stat-card img {
      height: 66px;
      color: var(--primary-orange);
      margin-bottom: 6px;
    }

    .stat-number {
      font-size: 22px;
      font-weight: 800;
      color: var(--text-dark);
      line-height: 1.1;
    }

    .stat-label {
      font-size: 12px;
      font-weight: 600;
      color: var(--text-muted);
      margin-top: 4px;
    }

    /* TODAY'S MUHURAT CARD */
    .muhurat-card {
      background: linear-gradient(135deg, #2b1104 0%, #170902 100%);
      border-radius: 20px;
      padding: 16px 24px;
      color: var(--bg-white);
      flex: 3.5;
      max-width: 680px;
      height: 145px;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      box-shadow: var(--shadow-lg);
      border: 1px solid rgba(255, 112, 26, 0.35);
      position: relative;
    }

    /* Header with Location Dropdown & Dynamic City Badge */
    .muhurat-header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      border-bottom: 1px solid rgba(255, 255, 255, 0.12);
      padding-bottom: 8px;
    }

    .muhurat-title {
      font-size: 13px;
      font-weight: 700;
      color: var(--primary-orange);
      display: flex;
      align-items: center;
      gap: 6px;
      letter-spacing: 0.3px;
      text-transform: uppercase;
    }

    /* Location Picker Controls */
    .location-wrapper {
      display: flex;
      align-items: center;
      gap: 6px;
      background: rgba(255, 255, 255, 0.08);
      padding: 3px 10px;
      border-radius: 12px;
      border: 1px solid rgba(255, 255, 255, 0.15);
      max-width: 220px;
    }

    .location-wrapper i {
      font-size: 12px;
      color: var(--primary-orange);
    }

    .location-select {
      background: transparent;
      border: none;
      color: #ffffff;
      font-size: 12px;
      font-weight: 500;
      outline: none;
      cursor: pointer;
      width: 100%;
    }

    .location-select option {
      background: #170902;
      color: #ffffff;
    }

    .muhurat-date {
      font-size: 12px;
      font-weight: 500;
      color: rgba(255, 255, 255, 0.85);
      background: rgba(255, 255, 255, 0.08);
      padding: 3px 10px;
      border-radius: 12px;
      border: 1px solid rgba(255, 255, 255, 0.1);
      white-space: nowrap;
      flex-shrink: 0;
    }

    /* Grid Layout for Card Content */
    .muhurat-body {
      display: grid;
      grid-template-columns: 1.2fr 1fr 0.8fr;
      align-items: center;
      gap: 16px;
      height: 100%;
      padding-top: 6px;
    }

    .sun-times {
      display: flex;
      flex-direction: column;
      gap: 6px;
      justify-content: center;
    }

    .time-item {
      display: flex;
      align-items: center;
      gap: 10px;
      font-size: 12px;
      color: rgba(255, 255, 255, 0.9);
    }

    .time-item i {
      font-size: 14px;
      color: var(--primary-orange);
      width: 18px;
      text-align: center;
    }

    .time-item strong {
      color: var(--bg-white);
      font-weight: 600;
    }

    /* Panchang Info Badge */
    .panchang-info {
      text-align: center;
      background: rgba(255, 112, 26, 0.1);
      padding: 8px 10px;
      border-radius: 12px;
      border: 1px solid rgba(255, 112, 26, 0.25);
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
    }

    .panchang-info span {
      display: block;
      font-size: 8px;
      text-transform: uppercase;
      letter-spacing: 0.5px;
      color: rgba(255, 255, 255, 0.7);
    }

    .panchang-info strong {
      font-size: 10px;
      font-weight: 700;
      color: #ffbe98;
      margin-top: 2px;
    }

    /* Dynamic Moon Graphic & Label */
    .moon-container {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
    }

    .moon-icon {
      width: 36px;
      height: 36px;
      border-radius: 50%;
      background-color: #1a1e29;
      position: relative;
      overflow: hidden;
      margin-bottom: 4px;
      box-shadow: 0 0 10px rgba(255, 255, 255, 0.15);
    }

    .moon-icon::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      border-radius: 50%;
      background: #f3f4f6;
      box-shadow: 0 0 8px rgba(255, 255, 255, 0.8);
      transition: all 0.5s ease;
    }

    .moon-phase-name {
      font-size: 9px;
      color: rgba(255, 255, 255, 0.75);
      text-transform: uppercase;
      letter-spacing: 0.5px;
      font-weight: 500;
      white-space: nowrap;
    }

    /* ==========================================
       RESPONSIVE DESIGN
       ========================================== */
    @media (max-width: 992px) {
      .hero-title { font-size: 38px; }
      .hero-description { font-size: 15px; }
    }

    @media (max-width: 768px) {
      .hero-section {
        padding-top: 80px;
        min-height: auto;
      }

      .hero-title { font-size: 26px; }

      .hero-description {
        font-size: 13px;
        margin-bottom: 20px;
      }

      .stat-card { display: none !important; }

      .muhurat-card {
        max-width: 100%;
        height: auto;
        padding: 16px;
      }

      .muhurat-header {
        flex-wrap: wrap;
        row-gap: 10px;
      }

      .muhurat-title {
        flex: 1 1 100%;
      }

      .location-wrapper {
        max-width: none;
        flex: 1 1 auto;
        min-width: 0;
      }

      .location-select {
        min-width: 0;
        text-overflow: ellipsis;
      }

      .muhurat-body {
        grid-template-columns: 1fr 1fr;
        gap: 12px;
      }

      .moon-container {
        grid-column: span 2;
        flex-direction: row;
        gap: 10px;
        padding-top: 6px;
        border-top: 1px solid rgba(255, 255, 255, 0.08);
      }
    }

     /* ==========================================
       FEATURED POOJA SECTION
       ========================================== */
    .featured-poojas-section {
      position: relative;
      width: 100%;
      max-width: 100%;
      padding: 60px 20px;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
    }

    /* Section Header */
    .section-header {
      text-align: center;
      margin-bottom: 40px;
      position: relative;
      
    }

    .header-icon-bg {
      position: absolute;
      top: -28px;
      left: 50%;
      transform: translateX(-50%);
      font-size: 80px;
      color: rgba(255, 112, 26, 0.07);
      z-index: 0;
      pointer-events: none;
    }

    .section-title {
      position: relative;
      z-index: 1;
      font-size: 38px;
      font-weight: 800;
      color: var(--text-dark);
      margin-bottom: 10px;
      letter-spacing: -0.5px;
      font-family: "Oleo Script", system-ui !important;
    }

    .section-title span {
      color: var(--dark-orange);
      font-family: "Oleo Script", system-ui !important;


    }

    .section-subtitle {
      position: relative;
      z-index: 1;
      font-size: 15px;
      color: var(--text-muted);
      line-height: 1.6;
    }

    /* ==========================================
       COVERFLOW CAROUSEL CONTAINER
       ========================================== */
    .carousel-container {
      position: relative;
      width: 100%;
      height: 480px;
      display: flex;
      align-items: center;
      justify-content: center;
      perspective: 1200px;
      margin-bottom: 30px;
    }

    .carousel-track {
      position: relative;
      width: 100%;
      height: 100%;
      display: flex;
      align-items: center;
      justify-content: center;
      transform-style: preserve-3d;
    }

    /* ==========================================
       CAROUSEL CARD STYLING
       ========================================== */
    .pooja-card {
      position: absolute;
      width: 320px;
      height: 420px;
      border-radius: 20px;
      overflow: hidden;
      cursor: pointer;
      background: var(--bg-white);
      box-shadow: var(--shadow-soft);
      transition: transform var(--transition-smooth), opacity var(--transition-smooth), filter var(--transition-smooth), box-shadow var(--transition-smooth);
      user-select: none;
      border: 1px solid var(--border-color);
    }

    .pooja-card img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
      transition: transform var(--transition-smooth);
    }

    /* Base Title Badge (Bottom Bar) */
    .card-title-badge {
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      padding: 16px 12px;
      background: rgba(15, 23, 42, 0.85);
      backdrop-filter: blur(8px);
      -webkit-backdrop-filter: blur(8px);
      text-align: center;
      transition: opacity var(--transition-fast);
      z-index: 2;
    }

    .card-title-badge h3 {
      color: var(--bg-white);
      font-size: 17px;
      font-weight: 700;
      letter-spacing: 0.3px;
    }

    /* Full-Card Hover Overlay (Reveals over Image on Hover) */
    .card-hover-overlay {
      position: absolute;
      inset: 0;
      background: linear-gradient(180deg, rgba(0, 0, 0, 0.2) 0%, rgba(217, 83, 0, 0.7) 60%, rgba(15, 23, 42, 0.92) 100%);
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      align-items: center;
      padding: 24px 20px;
      text-align: center;
      opacity: 0;
      visibility: hidden;
      transition: opacity var(--transition-smooth), visibility var(--transition-smooth);
      z-index: 3;
    }

    .hover-title {
      color: var(--bg-white);
      font-size: 22px;
      font-weight: 800;
      margin-bottom: 8px;
      text-shadow: 0 2px 8px rgba(0,0,0,0.4);
    }

    .hover-desc {
      color: #f3f4f6;
      font-size: 13px;
      line-height: 1.4;
      margin-bottom: 18px;
      opacity: 0.95;
    }

    .hover-btn {
      background: var(--primary-orange);
      color: var(--bg-white);
      padding: 8px 22px;
      font-size: 13px;
      font-weight: 600;
      border-radius: 20px;
      text-decoration: none;
      box-shadow: 0 4px 12px rgba(255, 112, 26, 0.4);
      transition: background var(--transition-fast), transform var(--transition-fast);
    }

    .hover-btn:hover {
      background: var(--primary-orange-hover);
      transform: scale(1.05);
    }

    /* On Hover Trigger for Active Center Card */
    .pooja-card[data-position="0"]:hover .card-hover-overlay {
      opacity: 1;
      visibility: visible;
    }

    .pooja-card[data-position="0"]:hover .card-title-badge {
      opacity: 0;
    }

    .pooja-card[data-position="0"]:hover img {
      transform: scale(1.08);
    }

    /* ==========================================
       COVERFLOW 3D POSITIONS
       ========================================== */
    /* Active Center Card */
    .pooja-card[data-position="0"] {
      transform: translateX(0) translateZ(110px) scale(1.08);
      z-index: 10;
      opacity: 1;
      filter: brightness(1);
      box-shadow: 0 20px 35px -10px rgba(255, 112, 26, 0.35), var(--shadow-soft);
      border-color: var(--primary-orange);
    }

    /* Immediate Left & Right */
    .pooja-card[data-position="1"] {
      transform: translateX(250px) translateZ(-40px) rotateY(-18deg) scale(0.92);
      z-index: 5;
      opacity: 0.88;
      filter: brightness(0.85);
    }

    .pooja-card[data-position="-1"] {
      transform: translateX(-250px) translateZ(-40px) rotateY(18deg) scale(0.92);
      z-index: 5;
      opacity: 0.88;
      filter: brightness(0.85);
    }

    /* Outer Left & Right */
    .pooja-card[data-position="2"] {
      transform: translateX(450px) translateZ(-140px) rotateY(-28deg) scale(0.78);
      z-index: 2;
      opacity: 0.65;
      filter: brightness(0.7);
    }

    .pooja-card[data-position="-2"] {
      transform: translateX(-450px) translateZ(-140px) rotateY(28deg) scale(0.78);
      z-index: 2;
      opacity: 0.65;
      filter: brightness(0.7);
    }

    /* Hidden Far Off Cards */
    .pooja-card[data-position="hidden-right"] {
      transform: translateX(650px) translateZ(-250px) rotateY(-35deg) scale(0.6);
      z-index: 1;
      opacity: 0;
      pointer-events: none;
    }

    .pooja-card[data-position="hidden-left"] {
      transform: translateX(-650px) translateZ(-250px) rotateY(35deg) scale(0.6);
      z-index: 1;
      opacity: 0;
      pointer-events: none;
    }

    /* ==========================================
       NAVIGATION BUTTONS
       ========================================== */
    .nav-btn {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      z-index: 20;
      width: 50px;
      height: 50px;
      border-radius: 50%;
      background: var(--bg-white);
      border: 1px solid var(--border-color);
      color: var(--text-dark);
      font-size: 16px;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      box-shadow: var(--shadow-soft);
      transition: all var(--transition-fast);
    }

    .nav-btn:hover {
      background: var(--primary-orange);
      color: var(--bg-white);
      border-color: var(--primary-orange);
      transform: translateY(-50%) scale(1.1);
      box-shadow: 0 8px 20px rgba(255, 112, 26, 0.4);
    }

    .nav-btn.prev { left: 40px; }
    .nav-btn.next { right: 40px; }

    /* ==========================================
       BOTTOM BOOK NOW CTA
       ========================================== */
    .cta-container {
      margin-top: 10px;
    }

    .book-btn {
      display: inline-block;
      background: var(--dark-orange);
      color: var(--bg-white);
      padding: 14px 48px;
      font-size: 16px;
      font-weight: 600;
      border-radius: 30px;
      text-decoration: none;
      box-shadow: 0 8px 20px rgba(217, 83, 0, 0.3);
      transition: all var(--transition-fast);
      border: none;
      cursor: pointer;
    }

    .book-btn:hover {
      background: var(--primary-orange-hover);
      transform: translateY(-3px);
      box-shadow: 0 12px 25px rgba(224, 93, 14, 0.4);
    }

    /* ==========================================
       RESPONSIVE DESIGN
       ========================================== */
    @media (max-width: 1024px) {
      .pooja-card { width: 270px; height: 360px; }
      .pooja-card[data-position="1"] { transform: translateX(180px) translateZ(-40px) rotateY(-18deg) scale(0.9); }
      .pooja-card[data-position="-1"] { transform: translateX(-180px) translateZ(-40px) rotateY(18deg) scale(0.9); }
      .pooja-card[data-position="2"] { transform: translateX(330px) translateZ(-140px) rotateY(-28deg) scale(0.75); }
      .pooja-card[data-position="-2"] { transform: translateX(-330px) translateZ(-140px) rotateY(28deg) scale(0.75); }
      .nav-btn.prev { left: 15px; }
      .nav-btn.next { right: 15px; }
    }

    @media (max-width: 768px) {
      .section-title { font-size: 28px; }
      .section-subtitle { font-size: 13px; }
      .carousel-container { height: 380px; }
      .pooja-card { width: 220px; height: 310px; }
      .pooja-card[data-position="1"] { transform: translateX(120px) translateZ(-40px) rotateY(-15deg) scale(0.85); }
      .pooja-card[data-position="-1"] { transform: translateX(-120px) translateZ(-40px) rotateY(15deg) scale(0.85); }
      .pooja-card[data-position="2"], .pooja-card[data-position="-2"] { opacity: 0; pointer-events: none; }
    }

    @media (max-width: 480px) {
      .pooja-card { width: 200px; height: 280px; }
      .pooja-card[data-position="1"] { transform: translateX(80px) translateZ(-40px) scale(0.8); opacity: 0.5; }
      .pooja-card[data-position="-1"] { transform: translateX(-80px) translateZ(-40px) scale(0.8); opacity: 0.5; }
    }


    /* ==========================================
       SCOPED COMPONENT STYLES
       ========================================== */
    .downloadapp1 {
    

      width: 100%;
      background-color: #fcfbf9;
      display: flex;
      justify-content: center;
      align-items: center;
      padding: 4px 16px;
      box-sizing: border-box;
      font-family: 'Poppins', sans-serif;
    }

    /* Reset within component */
    .downloadapp1 *,
    .downloadapp1 *::before,
    .downloadapp1 *::after {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
      font-family: 'Poppins', sans-serif;
    }

    /* Keep Font Awesome glyphs from being clobbered by the reset above */
    .downloadapp1 i[class*="fa-"],
    .downloadapp1 i[class*="fa-"]::before {
      font-family: "Font Awesome 6 Free";
    }

    /* Section Structure */
    .downloadapp1 .downloadapp2 {
      position: relative;
      width: 100%;
      max-width: 1200px;
      margin: 0 auto;
      padding: 10px 0;
    }

    .downloadapp1 .downloadapp3 {
      position: relative;
      width: 100%;
    }

    /* Background Mandalas */
    .downloadapp1 .downloadapp4 {
      position: absolute;
      font-size: 110px;
      color: rgba(255, 112, 26, 0.12);
      pointer-events: none;
      z-index: 0;
    }

    .downloadapp1 .downloadapp5 {
      top: 50%;
      left: -40px;
      transform: translateY(-50%);
    }

    .downloadapp1 .downloadapp6 {
      top: -20px;
      right: 20%;
    }

    /* Main Container Box */
    .downloadapp1 .downloadapp7 {
      position: relative;
      z-index: 1;
      width: 100%;
      background: linear-gradient(135deg, var(--primary-orange) 0%, var(--dark-orange) 100%);
      border-radius: 24px;
      padding: 36px 48px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      overflow: visible;
      box-shadow: var(--shadow-lg);
    }

    /* Decorative Grid Overlay */
    .downloadapp1 .downloadapp7::before {
      content: "";
      position: absolute;
      inset: 0;
      background-image: 
        linear-gradient(rgba(255, 255, 255, 0.08) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.08) 1px, transparent 1px);
      background-size: 24px 24px;
      border-radius: 24px;
      pointer-events: none;
    }

    /* Left Content Column */
    .downloadapp1 .downloadapp8 {
      flex: 1;
      max-width: 520px;
      z-index: 2;
    }

    .downloadapp1 .downloadapp9 {
      font-size: 34px;
      font-weight: 800;
      font-style: italic;
      color: var(--bg-white);
      line-height: 1.2;
      margin-bottom: 10px;
      letter-spacing: -0.5px;
    }

    .downloadapp1 .downloadapp10 {
      font-size: 16px;
      color: rgba(255, 255, 255, 0.95);
      line-height: 1.4;
      margin-bottom: 22px;
      font-weight: 400;
    }

    .downloadapp1 .downloadapp10 span {
      color: #fff2a8;
      font-weight: 700;
    }

    /* QR & App Stores Area */
    .downloadapp1 .downloadapp11 {
      display: flex;
      align-items: center;
      gap: 16px;
      flex-wrap: wrap;
    }

    .downloadapp1 .downloadapp12 {
      width: 95px;
      height: 95px;
      background: var(--bg-white);
      padding: 6px;
      border-radius: 12px;
      box-shadow: var(--shadow-soft);
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
    }

    .downloadapp1 .downloadapp12 img {
      width: 100%;
      height: 100%;
      object-fit: contain;
    }

    .downloadapp1 .downloadapp13 {
      display: flex;
      flex-direction: row;
      gap: 10px;
    }

    .downloadapp1 .downloadapp14 {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      border-radius: 10px;
      text-decoration: none;
      transition: transform var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);
    }

    .downloadapp1 .downloadapp14:hover {
      transform: translateY(-2px);
      border-color: #ffffff;
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
    }

    .downloadapp1 .downloadapp14 i {
      font-size: 20px;
    }
    .downloadapp14 img{
      width: 120px;
      height: 80px;
      object-fit: contain;
    }

    .downloadapp1 .downloadapp15 {
      display: flex;
      flex-direction: column;
      text-align: left;
    }

    .downloadapp1 .downloadapp16 {
      font-size: 8px;
      text-transform: uppercase;
      letter-spacing: 0.5px;
      opacity: 0.8;
      line-height: 1;
    }

    .downloadapp1 .downloadapp17 {
      font-size: 13px;
      font-weight: 700;
      line-height: 1.2;
      margin-top: 2px;
    }

    /* Right Mockup Display */
    .downloadapp1 .downloadapp18 {
      position: relative;
      flex: 1;
      display: flex;
      justify-content: flex-end;
      align-items: center;
      z-index: 2;
    }

    .downloadapp1 .downloadapp19 {
      width: 100%;
      max-width: 480px;
      height: auto;
      display: block;
      filter: drop-shadow(0 15px 25px rgba(0, 0, 0, 0.25));
      transform: translateY(-10px) scale(1.05);
      transition: transform var(--transition-smooth);
    }

    .downloadapp1 .downloadapp7:hover .downloadapp19 {
      transform: translateY(-15px) scale(1.07);
    }

    /* ==========================================
       RESPONSIVE DESIGN
       ========================================== */
    @media (max-width: 992px) {
      .downloadapp1 .downloadapp2 {
        padding-top: 65px;
      }

      .downloadapp1 .downloadapp7 {
        flex-direction: column;
        padding: 75px 20px 28px 20px;
        text-align: center;
      }

      .downloadapp1 .downloadapp6 {
        top: -60px;
        left: 50%;
        transform: translateX(-50%);
        right: auto;
      }

      .downloadapp1 .downloadapp18 {
        position: absolute;
        top: -165px;
        left: 50%;
        transform: translateX(-50%);
        width: 100%;
        max-width: 280px;
        justify-content: center;
      }

      .downloadapp1 .downloadapp19 {
        transform: none;
        max-width: 100%;
      }

      .downloadapp1 .downloadapp7:hover .downloadapp19 {
        transform: none;
      }

      .downloadapp1 .downloadapp8 {
        max-width: 100%;
      }

      .downloadapp1 .downloadapp9 {
        font-size: 24px;
        margin-bottom: 8px;
      }

      .downloadapp1 .downloadapp10 {
        font-size: 14px;
        margin-bottom: 20px;
      }

      .downloadapp1 .downloadapp11 {
        justify-content: center;
        flex-direction: column;
        gap: 14px;
      }

      .downloadapp1 .downloadapp13 {
        flex-direction: row;
        justify-content: center;
        width: 100%;
      }
    }

    @media (max-width: 480px) {
      .downloadapp1 .downloadapp9 {
        font-size: 21px;
      }
.downloadapp1{
  padding:65px 20px;
}
      .downloadapp1 .downloadapp13 {
        flex-direction: row;
        gap: 6px;
      }

      .downloadapp1 .downloadapp14 {
        padding: 6px 10px;
      }

      .downloadapp1 .downloadapp14 i {
        font-size: 18px;
      }

      .downloadapp1 .downloadapp16 {
        font-size: 7px;
      }

      .downloadapp1 .downloadapp17 {
        font-size: 11px;
      }
    }

    /* ==========================================
       SCOPED COMPONENT STYLES (ORANGE THEME)
       ========================================== */
    .ser1 {
     

      width: 100%;
      background-color: var(--bg-cream);
      padding: 65px 0;
      box-sizing: border-box;
      font-family: 'Poppins', sans-serif;
      position: relative;
    }

    /* Reset within component */
    .ser1 *,
    .ser1 *::before,
    .ser1 *::after {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
      font-family: 'Poppins', sans-serif;
    }

    /* Keep Font Awesome glyphs from being clobbered by the reset above */
    .ser1 i[class*="fa-"],
    .ser1 i[class*="fa-"]::before {
      font-family: "Font Awesome 6 Free";
    }

    /* Outer Wrapper Container */
    .ser1 .ser2 {
      max-width: 1320px;
      margin: 0 auto;
      padding: 0 24px;
      position: relative;
    }

    /* Header Block */
    .ser1 .ser3 {
      text-align: center;
      max-width: 780px;
      margin: 0 auto 36px auto;
    }

    .ser1 .ser4 {
      font-size: 38px;
      font-weight: 800;
      color: var(--title-color);
      line-height: 1.2;
      margin-bottom: 12px;
      letter-spacing: -0.5px;
    }

    .ser1 .ser5 {
      font-size: 15px;
      color: var(--text-muted);
      line-height: 1.6;
      font-weight: 400;
    }

    /* Carousel Viewport Window */
    .ser1 .ser6 {
      position: relative;
      width: 100%;
      overflow: hidden;
      padding: 10px 0 20px 0;
    }

    /* Sliding Track */
    .ser1 .ser7 {
      display: flex;
      gap: 20px;
      transition: transform var(--transition-smooth);
      will-change: transform;
    }

    /* Individual Card Layout */
    .ser1 .ser8 {
      flex: 0 0 calc((100% - 80px) / 5); /* Displays 5 cards on desktop matching image */
      height: 400px;
      position: relative;
      border-radius: var(--card-radius);
      overflow: hidden;
      box-shadow: var(--shadow-card);
      transition: transform var(--transition-smooth), box-shadow var(--transition-smooth);
      cursor: pointer;
    }

    .ser1 .ser8:hover {
      transform: translateY(-6px);
      box-shadow: 0 16px 30px rgba(217, 83, 0, 0.25);
    }

    /* Background Card Image */
    .ser1 .ser9 {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
      transition: transform 0.6s ease;
    }

    .ser1 .ser8:hover .ser9 {
      transform: scale(1.06);
    }

    /* Dark Overlay Gradient Box */
    .ser1 .ser10 {
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      background: linear-gradient(to top, rgba(15, 8, 4, 0.95) 0%, rgba(15, 8, 4, 0.7) 65%, transparent 100%);
      padding: 24px 14px 18px 14px;
      display: flex;
      flex-direction: column;
      align-items: center;
      text-align: center;
      gap: 12px;
      z-index: 2;
    }

    /* Card Title */
    .ser1 .ser11 {
      font-size: 17px;
      font-weight: 700;
      color: #ffffff;
      line-height: 1.3;
      text-shadow: 0 2px 4px rgba(0, 0, 0, 0.6);
    }

    /* Cream Pill Button */
    .ser1 .ser12 {
      display: inline-block;
      width: 82%;
      max-width: 150px;
      padding: 8px 16px;
      background-color: var(--bg-cream);
      color: var(--title-color);
      font-size: 13px;
      font-weight: 700;
      text-decoration: none;
      border-radius: 30px;
      transition: background-color var(--transition-smooth), color var(--transition-smooth), transform var(--transition-smooth);
      box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
    }

    .ser1 .ser8:hover .ser12 {
      background-color: var(--primary-orange);
      color: #ffffff;
      transform: scale(1.04);
    }

    /* Arrow Navigation Buttons */
    .ser1 .ser13 {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      width: 44px;
      height: 44px;
      background: rgba(255, 255, 255, 0.92);
      color: var(--title-color);
      border: none;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      z-index: 10;
      box-shadow: 0 4px 15px rgba(0, 0, 0, 0.18);
      transition: background-color var(--transition-smooth), color var(--transition-smooth), transform var(--transition-smooth);
    }

    .ser1 .ser13:hover {
      background-color: var(--primary-orange);
      color: #ffffff;
      transform: translateY(-50%) scale(1.1);
    }

    .ser1 .ser14 { left: 5px; }
    .ser1 .ser15 { right: 5px; }

    /* Pagination Dots */
    .ser1 .ser16 {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 10px;
      margin-top: 25px;
    }

    .ser1 .ser17 {
      width: 10px;
      height: 10px;
      border-radius: 50%;
      background-color: #d1c7bd;
      cursor: pointer;
      transition: all var(--transition-smooth);
    }

    .ser1 .ser17.ser18 {
      background-color: var(--dark-orange);
      width: 12px;
      height: 12px;
      box-shadow: 0 0 0 3px rgba(217, 83, 0, 0.25);
    }

    /* ==========================================
       RESPONSIVE BREAKPOINTS
       ========================================== */
    @media (max-width: 1200px) {
      .ser1 .ser8 { flex: 0 0 calc((100% - 60px) / 4); } /* 4 cards */
      .ser1 .ser4 { font-size: 32px; }
    }

    @media (max-width: 900px) {
      .ser1 .ser8 { flex: 0 0 calc((100% - 40px) / 3); } /* 3 cards */
      .ser1 .ser4 { font-size: 28px; }
    }

    @media (max-width: 640px) {
      .ser1 .ser8 { flex: 0 0 calc((100% - 20px) / 2); } /* 2 cards */
      .ser1 .ser4 { font-size: 24px; }
    }

    @media (max-width: 440px) {
      .ser1 .ser8 { flex: 0 0 100%; } /* 1 card */
    }


     /* ==========================================
       SCOPED COMPONENT STYLES (REVIEWS SECTION)
       ========================================== */
    .rev1 {
     
      width: 100%;
      background-color: var(--bg-cream);
      padding: 60px 0;
      box-sizing: border-box;
      font-family: 'Poppins', sans-serif;
      overflow: hidden;
      position: relative;
    }

    /* Scoped Reset */
    .rev1 *,
    .rev1 *::before,
    .rev1 *::after {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
      font-family: 'Poppins', sans-serif;
    }

    /* Keep Font Awesome glyphs from being clobbered by the reset above */
    .rev1 i[class*="fa-"],
    .rev1 i[class*="fa-"]::before {
      font-family: "Font Awesome 6 Free";
    }

    /* Container Wrapper */
    .rev1 .rev2 {
      width: 100%;
      margin: 0 auto;
    }

    /* Section Title Header */
    .rev1 .rev3 {
      text-align: center;
      margin-bottom: 40px;
      padding: 0 20px;
    }

    .rev1 .rev4 {
      font-size: 38px;
      font-weight: 800;
      color: #2a2a2a;
      letter-spacing: -0.5px;
      line-height: 1.2;
    }

    /* Continuous Marquee Viewport */
    .rev1 .rev5 {
      width: 100%;
      overflow: hidden;
      position: relative;
      padding: 10px 0 20px 0;
    }

    /* Infinite Track */
    .rev1 .rev6 {
      display: flex;
      gap: 22px;
      width: max-content;
      animation: revMarquee 40s linear infinite;
      will-change: transform;
    }

    /* Pause animation on hover */
    .rev1 .rev5:hover .rev6 {
      animation-play-state: paused;
    }

    @keyframes revMarquee {
      0% {
        transform: translateX(0);
      }
      100% {
        transform: translateX(-50%);
      }
    }

    /* Card Layout */
    .rev1 .rev7 {
      width: 360px;
      flex-shrink: 0;
      background-color: var(--card-bg);
      border-radius: var(--card-radius);
      padding: 22px 24px;
      border: 1px solid #eee7df;
      box-shadow: var(--shadow-card);
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      gap: 16px;
      transition: transform var(--transition-smooth), box-shadow var(--transition-smooth);
      
      /* Extremely light transparent dot grid background */
      background-image: radial-gradient(rgba(220, 100, 30, 0.045) 1.2px, transparent 1.2px);
      background-size: 14px 14px;
    }

    .rev1 .rev7:hover {
      transform: translateY(-4px);
      box-shadow: 0 12px 28px rgba(255, 112, 26, 0.12);
    }

    /* Card Top Row */
    .rev1 .rev8 {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
    }

    .rev1 .rev9 {
      display: flex;
      align-items: center;
      gap: 12px;
    }

    /* User Profile Avatar Ring */
    .rev1 .rev10 {
      width: 46px;
      height: 46px;
      border-radius: 50%;
      padding: 2px;
      background: linear-gradient(135deg, #ff701a, #d95300);
      flex-shrink: 0;
    }

    .rev1 .rev11 {
      width: 100%;
      height: 100%;
      border-radius: 50%;
      object-fit: cover;
      background-color: #ffffff;
    }

    /* Name Box */
    .rev1 .rev12 {
      display: flex;
      flex-direction: column;
      justify-content: center;
    }

    .rev1 .rev13 {
      font-size: 14px;
      font-weight: 700;
      color: var(--dark-orange);
      text-transform: uppercase;
      letter-spacing: 0.3px;
      line-height: 1.2;
    }

    /* Stars & Rating */
    .rev1 .rev15 {
      display: flex;
      align-items: center;
      gap: 3px;
      flex-shrink: 0;
    }

    .rev1 .rev16 {
      color: var(--star-color);
      font-size: 12px;
    }

    .rev1 .rev17 {
      font-size: 13px;
      font-weight: 800;
      color: var(--dark-orange);
      margin-left: 3px;
    }

    /* Review Text */
    .rev1 .rev18 {
      font-size: 13.5px;
      color: var(--text-body);
      line-height: 1.55;
      font-weight: 400;
      min-height: 64px;
      display: -webkit-box;
      -webkit-line-clamp: 3;
      -webkit-box-orient: vertical;
      overflow: hidden;
    }

    /* Card Footer Row */
    .rev1 .rev19 {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding-top: 10px;
    }

    .rev1 .rev20 {
      display: flex;
      align-items: center;
      gap: 8px;
      font-size: 12.5px;
      font-weight: 600;
      color: var(--text-muted);
    }

    .rev1 .rev20 i {
      color: var(--dark-orange);
      font-size: 15px;
    }

    /* Google Multi-colored Branding */
    .rev1 .rev21 {
      font-size: 16px;
      font-weight: 700;
      letter-spacing: -0.4px;
      user-select: none;
    }

    .rev1 .rev21 .g1 { color: #4285F4; }
    .rev1 .rev21 .g2 { color: #EA4335; }
    .rev1 .rev21 .g3 { color: #FBBC05; }
    .rev1 .rev21 .g4 { color: #4285F4; }
    .rev1 .rev21 .g5 { color: #34A853; }
    .rev1 .rev21 .g6 { color: #EA4335; }

    /* Responsive */
    @media (max-width: 768px) {
      .rev1 { padding: 40px 0; }
      .rev1 .rev4 { font-size: 28px; }
      .rev1 .rev7 { width: 310px; padding: 18px 20px; }
      .rev1 .rev18 { font-size: 13px; }
    }

    @media (max-width: 480px) {
      .rev1 .rev4 { font-size: 24px; }
      .rev1 .rev7 { width: 280px; padding: 16px; }
    }

     /* ==========================================
       SCOPED COMPONENT STYLES (APP SCREENSHOTS)
       ========================================== */
    .app1 {
      width: 100%;
      background-color: var(--bg-cream);
      padding: 70px 0;
      box-sizing: border-box;
      font-family: 'Poppins', sans-serif;
      overflow: hidden;
      position: relative;
    }

    /* Scoped Reset */
    .app1 *, 
    .app1 *::before, 
    .app1 *::after {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
      font-family: 'Poppins', sans-serif;
    }

    .app1 .app2 {
      width: 100%;
      margin: 0 auto;
    }

    /* Header Section */
    .app1 .app3 {
      text-align: center;
      max-width: 680px;
      margin: 0 auto 50px auto;
      padding: 0 20px;
    }

    .app1 .app4 {
      font-family: 'Caveat', cursive;
      font-size: 52px;
      font-weight: 700;
      color: var(--title-color);
      line-height: 1.1;
      margin-bottom: 12px;
    }

    .app1 .app5 {
      font-size: 15px;
      color: var(--text-muted);
      line-height: 1.6;
      font-weight: 400;
    }

    /* Carousel Viewport */
    .app1 .app6 {
      width: 100%;
      overflow: hidden;
      position: relative;
      padding: 20px 0 35px 0;
      mask-image: linear-gradient(to right, transparent 0%, black 8%, black 92%, transparent 100%);
      -webkit-mask-image: linear-gradient(to right, transparent 0%, black 8%, black 92%, transparent 100%);
    }

    /* Continuous Infinite Marquee */
    .app1 .app7 {
      display: flex;
      gap: 24px;
      width: max-content;
      animation: appMarquee 40s linear infinite;
      will-change: transform;
    }

    .app1 .app6:hover .app7 {
      animation-play-state: paused;
    }

    @keyframes appMarquee {
      0% {
        transform: translateX(0);
      }
      100% {
        transform: translateX(-50%);
      }
    }

    /* Direct Image Card Container */
    .app1 .app8 {
      width: 240px;
      height: 500px;
      flex-shrink: 0;
      border-radius: var(--card-radius);
      overflow: hidden;
      box-shadow: 0 12px 28px rgba(0, 0, 0, 0.08);
      transition: transform var(--transition-smooth), box-shadow var(--transition-smooth);
      background-color: var(--card-bg);
      border: 1px solid rgba(0, 0, 0, 0.05);
    }

    .app1 .app8:hover {
      transform: translateY(-8px);
      box-shadow: 0 20px 40px rgba(255, 112, 26, 0.18);
    }

    /* Raw Image Formatting */
    .app1 .app9 {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: top;
      display: block;
    }

    /* Responsive */
    @media (max-width: 768px) {
      .app1 { padding: 50px 0; }
      .app1 .app4 { font-size: 42px; }
      .app1 .app8 { width: 200px; height: 420px; }
    }

    @media (max-width: 480px) {
      .app1 .app4 { font-size: 36px; }
      .app1 .app8 { width: 170px; height: 360px; }
    }
    /* ==========================================
     SCOPED STYLES: CONTACT SECTION (.cnt1)
     ========================================== */
  .cnt1 {
    width: 100%;
    background-color: var(--bg-cream);
    padding: 80px 0;
    box-sizing: border-box;
    font-family: 'Poppins', sans-serif;
    color: var(--text-dark);
  }

  .cnt1 *,
  .cnt1 *::before,
  .cnt1 *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    font-family: 'Poppins', sans-serif;
  }

  /* Keep Font Awesome glyphs from being clobbered by the reset above */
  .cnt1 i.fa-brands,
  .cnt1 i.fa-brands::before {
    font-family: "Font Awesome 6 Brands";
  }

  .cnt1 i[class*="fa-"]:not(.fa-brands),
  .cnt1 i[class*="fa-"]:not(.fa-brands)::before {
    font-family: "Font Awesome 6 Free";
  }

  .cnt2 {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
  }

  /* Header Section */
  .cnt3 {
    text-align: center;
    max-width: 680px;
    margin: 0 auto 50px auto;
  }

  .cnt4 {
    font-family: 'Caveat', cursive;
    font-size: 52px;
    font-weight: 700;
    color: var(--title-color);
    line-height: 1.1;
    margin-bottom: 12px;
  }

  .cnt5 {
    font-size: 15px;
    color: var(--text-muted);
    line-height: 1.6;
    font-weight: 400;
  }

  /* Main Grid Layout */
  .cnt6 {
    display: grid;
    grid-template-columns: 1fr 1.3fr;
    gap: 40px;
    align-items: start;
  }

  /* LEFT COLUMN: Contact Action Cards */
  .cnt7 {
    display: flex;
    flex-direction: column;
    gap: 20px;
    min-width: 0;
  }

  .cnt8 {
    background-color: var(--card-bg);
    border-radius: var(--card-radius);
    padding: 24px;
    display: flex;
    align-items: center;
    gap: 20px;
    text-decoration: none;
    box-shadow: var(--shadow-card);
    border: 1px solid var(--border-color);
    transition: transform var(--transition-smooth), box-shadow var(--transition-smooth), border-color var(--transition-fast);
  }

  .cnt8:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-soft);
    border-color: rgba(255, 112, 26, 0.3);
  }

  .cnt9 {
    width: 58px;
    height: 58px;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    flex-shrink: 0;
    transition: background-color var(--transition-fast), color var(--transition-fast);
  }

  /* Card Themes */
  .cnt8.whatsapp .cnt9 {
    background-color: #e6f9f0;
    color: #25d366;
  }
  .cnt8.whatsapp:hover .cnt9 {
    background-color: #25d366;
    color: #ffffff;
  }

  .cnt8.call .cnt9 {
    background-color: #fff1e8;
    color: var(--primary-orange);
  }
  .cnt8.call:hover .cnt9 {
    background-color: var(--primary-orange);
    color: #ffffff;
  }

  .cnt8.email .cnt9 {
    background-color: #ebf5ff;
    color: #0070f3;
  }
  .cnt8.email:hover .cnt9 {
    background-color: #0070f3;
    color: #ffffff;
  }

  .cnt10 {
    flex: 1;
    min-width: 0;
  }

  .cnt11 {
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    color: var(--text-muted);
    margin-bottom: 4px;
  }

  .cnt12 {
    font-size: 18px;
    font-weight: 700;
    color: var(--text-dark);
    line-height: 1.3;
    overflow-wrap: break-word;
  }

  .cnt13 {
    font-size: 13px;
    color: var(--text-body);
    margin-top: 2px;
    overflow-wrap: break-word;
  }

  .cnt14 {
    font-size: 16px;
    color: var(--text-muted);
    transition: transform var(--transition-fast), color var(--transition-fast);
  }

  .cnt8:hover .cnt14 {
    transform: translateX(5px);
    color: var(--primary-orange);
  }

  /* RIGHT COLUMN: Contact Form Wrapper */
  .cnt15 {
    background-color: var(--card-bg);
    border-radius: var(--card-radius);
    padding: 40px;
    box-shadow: var(--shadow-card);
    border: 1px solid var(--border-color);
  }

  .cnt16 {
    font-size: 22px;
    font-weight: 700;
    color: var(--title-color);
    margin-bottom: 24px;
  }

  .cnt17 {
    display: flex;
    flex-direction: column;
    gap: 20px;
  }

  .cnt18 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
  }

  .cnt19 {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }

  .cnt19 label {
    font-size: 13px;
    font-weight: 600;
    color: var(--text-dark);
  }

  .cnt-required {
    color: #dc2626;
  }

  /* Honeypot field: kept in the accessibility tree as hidden, but visually
     off-screen rather than display:none, since some bots skip that check */
  .cnt-hp {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }

  .cnt19 input,
  .cnt19 select,
  .cnt19 textarea {
    width: 100%;
    padding: 14px 16px;
    border-radius: 12px;
    border: 1.5px solid var(--border-color);
    background-color: #fafafa;
    font-size: 14px;
    color: var(--text-dark);
    outline: none;
    transition: border-color var(--transition-fast), background-color var(--transition-fast);
  }

  .cnt19 input.cnt-invalid,
  .cnt19 select.cnt-invalid,
  .cnt19 textarea.cnt-invalid {
    border-color: #dc2626;
    background-color: #fef2f2;
  }

  .cnt19 input:focus,
  .cnt19 select:focus,
  .cnt19 textarea:focus {
    border-color: var(--primary-orange);
    background-color: #ffffff;
  }

  .cnt19 select {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%206b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 16px center;
    background-size: 16px;
    cursor: pointer;
  }

  .cnt19 textarea {
    resize: vertical;
    min-height: 120px;
  }

  /* Submit Button */
  .cnt20 {
    width: 100%;
    padding: 16px 28px;
    background-color: var(--primary-orange);
    color: #ffffff;
    border: none;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    box-shadow: 0 8px 20px rgba(255, 112, 26, 0.25);
    transition: background-color var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);
  }

  .cnt20:hover {
    background-color: var(--primary-orange-hover);
    transform: translateY(-2px);
    box-shadow: 0 12px 24px rgba(255, 112, 26, 0.35);
  }

  .cnt20:active {
    transform: translateY(0);
  }

  .cnt20:disabled {
    opacity: 0.7;
    cursor: not-allowed;
    transform: none;
  }

  /* Responsive Design */
  @media (max-width: 992px) {
    .cnt6 {
      grid-template-columns: 1fr;
    }
  }

  @media (max-width: 600px) {
    .cnt1 { padding: 50px 0; }
    .cnt4 { font-size: 40px; }
    .cnt15 { padding: 24px; }
    .cnt18 { grid-template-columns: 1fr; }
  }

   /* ==========================================
     SCOPED FOOTER STYLES (.ftr1)
     ========================================== */
  .ftr1 {
    width: 100%;
    background: #0d0f12;
    color: #f3f4f6;
    padding: 80px 0 30px 0;
    font-family: 'Poppins', sans-serif;
    position: relative;
    overflow: hidden;
    box-sizing: border-box;
  }

  .ftr1 *,
  .ftr1 *::before,
  .ftr1 *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    font-family: 'Poppins', sans-serif;
  }

  /* Keep Font Awesome glyphs from being clobbered by the reset above */
  .ftr1 i.fa-brands,
  .ftr1 i.fa-brands::before {
    font-family: "Font Awesome 6 Brands";
  }

  .ftr1 i[class*="fa-"]:not(.fa-brands),
  .ftr1 i[class*="fa-"]:not(.fa-brands)::before {
    font-family: "Font Awesome 6 Free";
  }

  /* Animated Glowing Ambient Orbs in Background */
  .ftr1::before,
  .ftr1::after {
    content: '';
    position: absolute;
    border-radius: 50%;
    filter: blur(100px);
    opacity: 0.15;
    pointer-events: none;
    animation: ftrPulse 8s infinite alternate ease-in-out;
  }

  .ftr1::before {
    width: 320px;
    height: 320px;
    background: var(--primary-orange, #ff701a);
    top: -50px;
    left: -50px;
  }

  .ftr1::after {
    width: 280px;
    height: 280px;
    background: #ffaa00;
    bottom: -50px;
    right: -50px;
    animation-delay: -4s;
  }

  @keyframes ftrPulse {
    0% { transform: scale(0.8) translate(0, 0); opacity: 0.12; }
    100% { transform: scale(1.2) translate(30px, 30px); opacity: 0.22; }
  }

  .ftr2 {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    position: relative;
    z-index: 2;
  }

  /* Grid Layout */
  .ftr3 {
    display: grid;
    grid-template-columns: 1.5fr 1fr 1.2fr;
    gap: 50px;
    padding-bottom: 60px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  }

  /* Logo Branding Above Description */
  .ftr-logo-wrap {
    margin-bottom: 20px;
    display: inline-block;
  }

  .ftr-logo-img {
    height: 125px;
    width: auto;
    object-fit: contain;
    display: block;
  }

  /* Paragraph Text (Lightened) */
  .ftr5 {
    font-size: 14px;
    color: #e2e8f0; /* Lightened from #9ca3af */
    line-height: 1.75;
    margin-bottom: 24px;
    font-weight: 300;
  }

  /* Column Heading */
  .ftr6 {
    font-size: 18px;
    font-weight: 600;
    color: #ffffff;
    margin-bottom: 24px;
    position: relative;
    padding-bottom: 10px;
  }

  .ftr6::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 36px;
    height: 3px;
    background: var(--primary-orange, #ff701a);
    border-radius: 2px;
    transition: width 0.3s ease;
  }

  .ftr7:hover .ftr6::after {
    width: 60px;
  }

  /* Social Links */
  .ftr8 {
    display: flex;
    gap: 12px;
  }

  .ftr9 {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.12);
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-size: 16px;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  }

  .ftr9:hover {
    background: var(--primary-orange, #ff701a);
    color: #ffffff;
    transform: translateY(-4px);
    box-shadow: 0 8px 20px rgba(255, 112, 26, 0.35);
    border-color: transparent;
  }

  /* Navigation Links (Lightened) */
  .ftr10 {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 12px;
  }

  .ftr11 a {
    color: #cbd5e1; /* Lightened from #9ca3af */
    text-decoration: none;
    font-size: 14px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: all 0.3s ease;
  }

  .ftr11 a i {
    font-size: 11px;
    color: var(--primary-orange, #ff701a);
    transition: transform 0.3s ease;
  }

  .ftr11 a:hover {
    color: #ffffff;
    transform: translateX(6px);
  }

  .ftr11 a:hover i {
    transform: translateX(3px);
  }

  /* Address & Contact Items (Lightened) */
  .ftr12 {
    display: flex;
    flex-direction: column;
    gap: 18px;
  }

  .ftr13 {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    font-size: 14px;
    color: #cbd5e1; /* Lightened from #9ca3af */
    line-height: 1.6;
  }

  .ftr14 {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    background: rgba(255, 112, 26, 0.15);
    color: var(--primary-orange, #ff701a);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    flex-shrink: 0;
    margin-top: 2px;
    transition: transform 0.3s ease, background-color 0.3s ease;
  }

  .ftr13:hover .ftr14 {
    background: var(--primary-orange, #ff701a);
    color: #ffffff;
    transform: scale(1.08);
  }

  .ftr13 a {
    color: #cbd5e1; /* Lightened from #9ca3af */
    text-decoration: none;
    transition: color 0.3s ease;
  }

  .ftr13 a:hover {
    color: #ffffff;
  }

  /* Bottom Copyright Bar */
  .ftr15 {
    padding-top: 30px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 13px;
    color: #94a3b8; /* Lightened from #6b7280 */
    flex-wrap: wrap;
    gap: 15px;
  }

  .ftr16 a {
    color: var(--primary-orange, #ff701a);
    text-decoration: none;
    font-weight: 600;
    transition: color 0.3s ease;
  }

  .ftr16 a:hover {
    color: #ffffff;
    text-decoration: underline;
  }

  /* Responsive Design */
  @media (max-width: 992px) {
    .ftr3 {
      grid-template-columns: 1fr 1fr;
      gap: 40px;
    }
  }

  @media (max-width: 600px) {
    .ftr1 {
      padding: 60px 0 25px 0;
    }
    .ftr3 {
      grid-template-columns: 1fr;
      gap: 35px;
    }
    .ftr15 {
      flex-direction: column;
      text-align: center;
    }
  }
   /* ==========================================
     1. RIGHT-CENTER FIXED SIDE BUTTON (ORANGE)
     ========================================== */
  .side-book-btn {
    position: fixed;
    right: 0;
    top: 50%;
    transform: translateY(-50%) translateX(100%); /* Hidden by default */
    background: #ff701a; /* Orange background */
    color: #ffffff;
    padding: 14px 10px;
    writing-mode: vertical-rl;
    text-orientation: mixed;
    text-transform: uppercase;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1px;
    text-decoration: none;
    border-radius: 8px 0 0 8px;
    box-shadow: -4px 0 15px rgba(255, 112, 26, 0.4);
    z-index: 9998;
    opacity: 0;
    visibility: hidden;
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s ease, visibility 0.3s;
    font-family: 'Poppins', sans-serif;
  }

  /* Slide in class when scrolled past hero */
  .side-book-btn.is-visible {
    transform: translateY(-50%) translateX(0);
    opacity: 1;
    visibility: visible;
  }

  .side-book-btn:hover {
    background: #e65c00;
    color: #ffffff;
    padding-right: 14px;
  }

  /* ==========================================
     2. BOTTOM FLOATING/STICKY CTAS
     ========================================== */
  .float-cta-container {
    position: fixed;
    bottom: 24px;
    right: 24px;
    z-index: 9999;
    display: flex;
    flex-direction: column;
    gap: 14px;
    font-family: 'Poppins', sans-serif;
  }

  .float-cta-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    color: #ffffff;
    text-decoration: none;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease;
  }

  .float-cta-btn:hover {
    transform: scale(1.1);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.3);
  }

  .float-cta-btn i {
    font-size: 24px;
  }

  /* Colors Updated */
  .float-cta-call {
    background-color: #ff701a; /* Updated Call BG to Orange */
  }

  .float-cta-whatsapp {
    background-color: #25d366; /* Standard WhatsApp Green */
  }

  .float-cta-text {
    display: none;
  }

  /* Mobile Sticky Bottom Bar */
  @media (max-width: 768px) {
    .float-cta-container {
      position: fixed;
      bottom: 0;
      left: 0;
      right: 0;
      width: 100%;
      height: 60px;
      flex-direction: row;
      gap: 0;
      box-shadow: 0 -4px 15px rgba(0, 0, 0, 0.12);
    }

    .float-cta-btn {
      width: 50%;
      height: 100%;
      border-radius: 0;
      box-shadow: none;
      gap: 10px;
      padding: 0 12px;
    }

    .float-cta-btn:hover {
      transform: none;
    }

    .float-cta-btn i {
      font-size: 20px;
    }

    .float-cta-text {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      line-height: 1.2;
    }

    .float-cta-label {
      font-size: 15px;
      font-weight: 700;
      color: #ffffff;
    }

    .float-cta-sub {
      font-size: 12px;
      font-weight: 500;
      color: rgba(255, 255, 255, 0.9);
    }

    .float-cta-whatsapp {
      justify-content: center;
      flex-direction: column;
      gap: 4px;
    }

    .float-cta-whatsapp .float-cta-text {
      align-items: center;
    }

    /* Adjust vertical button position on mobile so it doesn't overlap bottom bar */
    .side-book-btn {
      top: 40%;
      font-size: 11px;
      padding: 10px 8px;
    }
  }

  /* ==========================================
     BREADCRUMB HEADER STYLES (.sb-hero)
     ========================================== */
  .sb-hero {
    position: relative;
    width: 100%;
    min-height: 320px;
    padding: 90px 20px 70px 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-family: 'Poppins', sans-serif;
    box-sizing: border-box;
    /* Background Image with Dark Gradient Overlay */
    background: linear-gradient(
        180deg,
        rgba(13, 15, 18, 0.85) 0%,
        rgba(13, 15, 18, 0.7) 50%,
        rgba(13, 15, 18, 0.95) 100%
      ),
      url('../img/BG.jpg') center/cover no-repeat;
    overflow: hidden;
  }

  /* Decorative Ambient Glow in Center */
  .sb-hero::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 350px;
    height: 350px;
    background: radial-gradient(circle, rgba(255, 112, 26, 0.25) 0%, rgba(0, 0, 0, 0) 70%);
    pointer-events: none;
    z-index: 1;
  }

  .sb-container {
    position: relative;
    z-index: 2;
    max-width: 800px;
    margin: 0 auto;
  }

  /* Subtitle Badge */
  .sb-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(255, 112, 26, 0.15);
    border: 1px solid rgba(255, 112, 26, 0.3);
    color: #ff701a;
    padding: 6px 16px;
    border-radius: 50px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    margin-bottom: 16px;
    backdrop-filter: blur(4px);
  }

  /* Page Main Title */
  .sb-title {
    font-size: 42px;
    font-weight: 700;
    color: #ffffff;
    margin: 0 0 18px 0;
    line-height: 1.2;
    letter-spacing: -0.5px;
    text-shadow: 0 4px 12px rgba(0, 0, 0, 0.5);
  }

  .sb-title span {
    color: #ff701a;
  }

  /* Glassmorphism Breadcrumb Navigation Bar */
  .sb-breadcrumb-wrap {
    display: inline-block;
  }

  .sb-breadcrumb {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    list-style: none;
    margin: 0;
    padding: 10px 24px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(12px);
    border-radius: 50px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
  }

  .sb-crumb-item {
    display: flex;
    align-items: center;
    font-size: 14px;
    font-weight: 500;
    color: #cbd5e1;
  }

  .sb-crumb-item a {
    color: #e2e8f0;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 6px;
    transition: color 0.25s ease;
  }

  .sb-crumb-item a:hover {
    color: #ff701a;
  }

  /* Separator Arrow */
  .sb-crumb-separator {
    font-size: 11px;
    color: #ff701a;
    opacity: 0.8;
  }

  /* Active/Current Breadcrumb Item */
  .sb-crumb-item.active {
    color: #ff701a;
    font-weight: 600;
  }

  /* Location line under the breadcrumb (mandir about page) */
  .sb-location {
    position: relative;
    z-index: 2;
    margin-top: 16px;
    font-size: 14.5px;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.85);
  }

  .sb-location i {
    color: var(--primary-orange);
    margin-right: 4px;
  }

  /* Responsive Adjustments */
  @media (max-width: 768px) {
    .sb-hero {
      min-height: 260px;
      padding: 70px 16px 50px 16px;
    }

    .sb-title {
      font-size: 30px;
    }

    .sb-breadcrumb {
      padding: 8px 18px;
      gap: 8px;
    }

    .sb-crumb-item {
      font-size: 13px;
    }
  }

  /* ==========================================
     MANDIR PANDITS / ABOUT PAGES
     ========================================== */
  .mandir-intro {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
    background: var(--card-bg);
    border: 1px solid var(--border-color);
    border-radius: var(--card-radius);
    box-shadow: var(--shadow-card);
    padding: 24px 28px;
    margin-bottom: 32px;
  }

  .mandir-intro-text {
    flex: 1;
    min-width: 220px;
  }

  .mandir-intro-location {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13.5px;
    font-weight: 600;
    color: var(--primary-orange);
    margin-bottom: 8px;
  }

  .mandir-intro-desc {
    font-size: 14.5px;
    color: var(--text-body);
    line-height: 1.6;
  }

  .mandir-view-more-btn {
    flex-shrink: 0;
    gap: 8px;
  }

  .mandir-about-container {
    max-width: 820px;
  }

  .mandir-about-para {
    font-size: 15.5px;
    line-height: 1.9;
    color: var(--text-body);
    margin-bottom: 20px;
  }

  @media (max-width: 600px) {
    .mandir-intro {
      flex-direction: column;
      align-items: stretch;
      padding: 20px;
    }

    .mandir-view-more-btn {
      justify-content: center;
    }
  }


  /* ==========================================
     SERVICE SECTION STYLES (CREAM THEME)
     ========================================== */
  .sc-section {
    width: 100%;
    padding: 80px 20px;
    background-color: #fdfbf7; /* Warm Cream Background */
    color: #1f2937;
    font-family: 'Poppins', sans-serif;
    box-sizing: border-box;
    position: relative;
  }

  .sc-container {
    max-width: 1200px;
    margin: 0 auto;
  }

  /* Section Header */
  .sc-header {
    text-align: center;
    margin-bottom: 50px;
  }

  .sc-subtitle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #d95300;
    background: rgba(255, 112, 26, 0.12);
    border: 1px solid rgba(255, 112, 26, 0.25);
    padding: 6px 16px;
    border-radius: 50px;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 12px;
  }

  .sc-title {
    font-size: 36px;
    font-weight: 700;
    margin: 0;
    color: #111827;
  }

  .sc-title span {
    color: #ff701a;
  }

  /* Category Filter Pills */
  .sc-cat-filter {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin: 0 0 40px;
  }

  .sc-cat-pill {
    display: inline-flex;
    align-items: center;
    padding: 9px 20px;
    border-radius: 30px;
    border: 1px solid var(--border-color, #f3f4f6);
    background: var(--bg-white, #fff);
    color: var(--text-dark, #1f2937);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: all var(--transition-fast, 0.25s ease);
  }

  .sc-cat-pill:hover {
    border-color: rgba(255, 112, 26, 0.4);
    color: var(--primary-orange, #ff701a);
  }

  .sc-cat-pill.active {
    background: var(--primary-orange, #ff701a);
    border-color: var(--primary-orange, #ff701a);
    color: #fff;
  }

  /* Grid Layout: 3 Cards per row on Large Screens */
  .sc-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
  }

  /* Card Item */
  .sc-card {
    background: #ffffff;
    border: 1px solid #f1e9db;
    border-radius: 20px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: inherit;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.03);
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), 
                box-shadow 0.4s ease, 
                border-color 0.4s ease;
    position: relative;
    cursor: pointer;
  }

  .sc-card:hover {
    transform: translateY(-10px);
    border-color: rgba(255, 112, 26, 0.4);
    box-shadow: 0 20px 40px rgba(255, 112, 26, 0.12);
  }

  /* Image Container */
  .sc-img-wrap {
    width: 100%;
    height: 280px;
    position: relative;
    overflow: hidden;
  }

  .sc-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
  }

  .sc-card:hover .sc-img {
    transform: scale(1.08);
  }

  /* Image Overlay Tag */
  .sc-tag {
    position: absolute;
    top: 16px;
    right: 16px;
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 112, 26, 0.2);
    color: #d95300;
    padding: 6px 14px;
    border-radius: 30px;
    font-size: 12px;
    font-weight: 600;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  }

  /* Card Body */
  .sc-body {
    padding: 24px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
  }

  .sc-card-title {
    font-size: 20px;
    font-weight: 700;
    margin: 0 0 12px 0;
    color: #1f2937;
    transition: color 0.3s ease;
  }

  .sc-card:hover .sc-card-title {
    color: #ff701a;
  }

  .sc-desc {
    font-size: 14px;
    color: #4b5563;
    line-height: 1.6;
    margin: 0 0 20px 0;
    flex-grow: 1;
    font-weight: 400;
  }

  /* Action Row */
  .sc-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 16px;
    border-top: 1px solid #f3ece1;
    gap: 12px;
  }

  .sc-details-link {
    font-size: 14px;
    font-weight: 600;
    color: #374151;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: color 0.3s ease;
  }

  .sc-card:hover .sc-details-link {
    color: #ff701a;
  }

  .sc-details-link i {
    font-size: 12px;
    transition: transform 0.3s ease;
  }

  .sc-card:hover .sc-details-link i {
    transform: translateX(4px);
  }

  /* Book Now Button */
  .sc-book-btn {
    background: #ff701a;
    color: #ffffff;
    border: none;
    padding: 10px 18px;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    transition: background-color 0.3s ease, transform 0.2s ease, box-shadow 0.3s ease;
    box-shadow: 0 4px 12px rgba(255, 112, 26, 0.25);
  }

  .sc-book-btn:hover {
    background: #e65c00;
    box-shadow: 0 6px 16px rgba(255, 112, 26, 0.4);
    transform: scale(1.05);
  }

  /* Responsive Adjustments */
  @media (max-width: 992px) {
    .sc-grid {
      grid-template-columns: repeat(2, 1fr);
    }
  }

  @media (max-width: 600px) {
    .sc-section {
      padding: 50px 16px;
    }

    .sc-grid {
      grid-template-columns: 1fr;
      gap: 20px;
    }

    .sc-title {
      font-size: 28px;
    }
  }

   /* Base Styles & Backdrop */
  .pb-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(13, 15, 18, 0.75);
    backdrop-filter: blur(8px);
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    font-family: 'Poppins', sans-serif;
    box-sizing: border-box;
  }

  .pb-modal-overlay.active {
    opacity: 1;
    visibility: visible;
  }

  /* Modal Container */
  .pb-modal-card {
    background: #ffffff;
    width: 100%;
    max-width: 580px;
    max-height: 90vh;
    border-radius: 20px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.25);
    overflow-y: auto;
    position: relative;
    transform: scale(0.85) translateY(20px);
    transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
    border: 1px solid rgba(255, 112, 26, 0.2);
  }

  .pb-modal-overlay.active .pb-modal-card {
    transform: scale(1) translateY(0);
  }

  /* Thin, themed scrollbar for the modal's scrollable content */
  .pb-modal-card {
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 112, 26, 0.45) transparent;
  }

  .pb-modal-card::-webkit-scrollbar {
    width: 6px;
  }

  .pb-modal-card::-webkit-scrollbar-track {
    background: transparent;
  }

  .pb-modal-card::-webkit-scrollbar-thumb {
    background-color: rgba(255, 112, 26, 0.45);
    border-radius: 10px;
  }

  .pb-modal-card::-webkit-scrollbar-thumb:hover {
    background-color: rgba(255, 112, 26, 0.75);
  }

  /* Header */
  .pb-modal-header {
    background: linear-gradient(135deg, #ff701a 0%, #e65c00 100%);
    padding: 20px 24px;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: sticky;
    top: 0;
    z-index: 10;
  }

  .pb-modal-title {
    font-size: 20px;
    font-weight: 700;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 10px;
  }

  .pb-close-btn {
    background: rgba(255, 255, 255, 0.2);
    border: none;
    color: #ffffff;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    transition: background-color 0.2s ease, transform 0.2s ease;
  }

  .pb-close-btn:hover {
    background: rgba(255, 255, 255, 0.35);
    transform: rotate(90deg);
  }

  /* Form Layout */
  .pb-modal-body {
    padding: 24px;
  }

  .pb-form-error {
    display: block;
    margin-bottom: 14px;
    color: #d64545;
    font-size: 13px;
    font-weight: 600;
  }

  .pb-form-error:empty {
    display: none;
  }

  .pb-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
  }

  .pb-form-group {
    margin-bottom: 18px;
  }

  .pb-full-width {
    grid-column: span 2;
  }

  .pb-label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: #1f2937;
    margin-bottom: 6px;
  }

  .pb-select, .pb-input, .pb-textarea {
    width: 100%;
    padding: 12px 14px;
    font-size: 14px;
    color: #374151;
    background-color: #f9fafb;
    border: 1.5px solid #e5e7eb;
    border-radius: 10px;
    outline: none;
    transition: border-color 0.25s ease, box-shadow 0.25s ease, background-color 0.25s ease;
    box-sizing: border-box;
    font-family: inherit;
  }

  .pb-textarea {
    resize: vertical;
    min-height: 70px;
  }

  .pb-select:focus, .pb-input:focus, .pb-textarea:focus {
    border-color: #ff701a;
    background-color: #ffffff;
    box-shadow: 0 0 0 3px rgba(255, 112, 26, 0.15);
  }

  /* Radio Group */
  .pb-radio-group {
    display: flex;
    gap: 12px;
  }

  .pb-radio-card {
    flex: 1;
    position: relative;
  }

  .pb-radio-card input {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
  }

  .pb-radio-label {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px;
    background: #f9fafb;
    border: 1.5px solid #e5e7eb;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 600;
    color: #4b5563;
    cursor: pointer;
    transition: all 0.25s ease;
  }

  .pb-radio-card input:checked + .pb-radio-label {
    background-color: rgba(255, 112, 26, 0.08);
    border-color: #ff701a;
    color: #ff701a;
  }

  /* Other Service Field Animation */
  .pb-other-group {
    display: none;
    animation: pbFadeIn 0.3s ease;
  }

  @keyframes pbFadeIn {
    from { opacity: 0; transform: translateY(-6px); }
    to { opacity: 1; transform: translateY(0); }
  }

  /* Submit Button */
  .pb-submit-btn {
    width: 100%;
    padding: 14px;
    background: #ff701a;
    color: #ffffff;
    border: none;
    border-radius: 10px;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    box-shadow: 0 8px 20px rgba(255, 112, 26, 0.3);
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 10px;
  }

  .pb-submit-btn:hover {
    background: #e65c00;
    box-shadow: 0 12px 24px rgba(255, 112, 26, 0.4);
    transform: translateY(-2px);
  }

  @media (max-width: 600px) {
    .pb-form-grid {
      grid-template-columns: 1fr;
    }
    .pb-full-width {
      grid-column: span 1;
    }
    .pb-modal-card {
      max-height: 95vh;
    }
  }




   /* ==========================================
     CORE SECTION STYLES
     ========================================== */
  .kp-acc-wrapper {
    width: 100%;
    padding: 80px 20px;
    background-color: #fdfbf7; /* Warm Cream Theme */
    font-family: 'Poppins', sans-serif;
    color: #1f2937;
    box-sizing: border-box;
  }

  .kp-acc-container {
    max-width: 920px;
    margin: 0 auto;
  }

  /* Header Section */
  .kp-acc-header {
    text-align: center;
    margin-bottom: 50px;
  }

  .kp-acc-title {
    font-size: 38px;
    font-weight: 700;
    color: #111827;
    margin: 0 0 12px 0;
    letter-spacing: -0.5px;
  }

  .kp-acc-divider {
    width: 60px;
    height: 4px;
    background: linear-gradient(90deg, #ff701a 0%, #f59e0b 100%);
    margin: 0 auto 16px auto;
    border-radius: 4px;
  }

  .kp-acc-subtitle {
    font-size: 15px;
    color: #6b7280;
    margin: 0;
  }

  /* Accordion Stack */
  .kp-acc-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
  }

  /* Card Item Container */
  .kp-acc-card {
    background: #ffffff;
    border-radius: 22px;
    border: 1.5px solid #f1e9db;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.03);
    overflow: hidden;
    transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), 
                box-shadow 0.35s ease, 
                border-color 0.35s ease;
  }

  .kp-acc-card:hover {
    transform: translateY(-4px);
    border-color: rgba(255, 112, 26, 0.35);
    box-shadow: 0 16px 36px rgba(255, 112, 26, 0.12);
  }

  .kp-acc-card.active {
    border-color: #ff701a;
    box-shadow: 0 16px 40px rgba(255, 112, 26, 0.15);
  }

  /* Trigger Button Header */
  .kp-acc-trigger {
    width: 100%;
    padding: 24px 28px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: transparent;
    border: none;
    cursor: pointer;
    text-align: left;
    outline: none;
    gap: 20px;
  }

  /* Left Side: Circular Image Always Displayed */
  .kp-acc-left {
    display: flex;
    align-items: center;
    gap: 20px;
    flex: 1;
    min-width: 0;
  }

  /* Fixed Circular Image Frame */
  .kp-acc-img-wrap {
    width: 68px;
    height: 68px;
    min-width: 68px;
    min-height: 68px;
    border-radius: 50%;
    overflow: hidden;
    border: 2.5px solid #ff701a;
    box-shadow: 0 6px 16px rgba(255, 112, 26, 0.2);
    flex-shrink: 0;
  }

  .kp-acc-img {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
    display: block;
  }

  .kp-acc-info {
    display: flex;
    flex-direction: column;
    gap: 6px;
  }

  .kp-acc-item-title {
    font-size: 16px;
    font-weight: 500;
    color: #111827;
    margin: 0;
    transition: color 0.3s ease;
  }

  .kp-acc-card:hover .kp-acc-item-title,
  .kp-acc-card.active .kp-acc-item-title {
    color: #ff701a;
  }

  .kp-acc-item-desc {
    font-size: 13.5px;
    color: #6b7280;
    margin: 0;
    line-height: 1.5;
  }

  /* Right Side: Pill Button & Arrow */
  .kp-acc-right {
    display: flex;
    align-items: center;
    gap: 18px;
    flex-shrink: 0;
  }

  .kp-acc-btn {
    background: linear-gradient(135deg, #ff8c00 0%, #e65c00 100%);
    color: #ffffff;
    padding: 12px 28px;
    border-radius: 50px;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.3px;
    border: none;
    cursor: pointer;
    white-space: nowrap;
    box-shadow: 0 6px 18px rgba(230, 92, 0, 0.35);
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  .kp-acc-btn a{
    color: #ffffff;
    text-decoration: none;
  }

  .kp-acc-btn:hover {
    transform: scale(1.05);
    box-shadow: 0 8px 22px rgba(230, 92, 0, 0.5);
  }

  /* Arrow Indicator */
  .kp-acc-arrow-wrap {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(255, 112, 26, 0.08);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.3s ease;
  }

  .kp-acc-arrow {
    font-size: 14px;
    color: #ff701a;
    transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
  }

  .kp-acc-card.active .kp-acc-arrow {
    transform: rotate(180deg);
  }

  .kp-acc-card.active .kp-acc-arrow-wrap {
    background: rgba(255, 112, 26, 0.15);
  }

  /* Expandable Content Area: Clean Paragraph Text */
  .kp-acc-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s cubic-bezier(0, 1, 0, 1), padding 0.35s ease;
    background: #fffdfa;
    border-top: 1px solid #f5efe6;
    padding: 0 28px;
  }

  .kp-acc-card.active .kp-acc-content {
    max-height: max-content;
    transition: max-height 0.45s ease-in-out, padding 0.35s ease;
    padding: 22px 28px 26px 28px;
  }

  .kp-acc-paragraph {
    font-size: 14.5px;
    line-height: 1.7;
    color: #4b5563;
    margin: 0;
    font-weight: 400;
  }

  /* Responsive Behavior */
  @media (max-width: 768px) {
    .kp-acc-wrapper {
      padding: 60px 16px;
    }

    .kp-acc-title {
      font-size: 30px;
    }

    .kp-acc-trigger {
      padding: 20px;
    }

    .kp-acc-img-wrap {
      width: 56px;
      height: 56px;
      min-width: 56px;
      min-height: 56px;
    }

    .kp-acc-item-title {
      font-size: 18px;
    }

    .kp-acc-btn {
      padding: 10px 20px;
      font-size: 13px;
    }
  }

  @media (max-width: 580px) {
    .kp-acc-trigger {
      flex-direction: column;
      align-items: flex-start;
      gap: 16px;
      padding: 18px 16px;
    }

    .kp-acc-left {
      width: 100%;
    }

    .kp-acc-right {
      width: 100%;
      justify-content: space-between;
      border-top: 1px dashed #f1e9db;
      padding-top: 14px;
      margin-top: 4px;
    }

    .kp-acc-btn {
      flex-grow: 1;
      padding: 12px 18px;
    }

    .kp-acc-content {
      padding: 0 16px;
    }

    .kp-acc-card.active .kp-acc-content {
      padding: 18px 16px 20px 16px;
    }
  }

  /* Base Container */
  .hero-breadcrumb-section {
    position: relative;
    width: 100%;
    min-height: 820px;
    
    background-size: cover;
    background-position: center 30%;
    background-repeat: no-repeat;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    padding: 100px 20px 60px 20px;
    box-sizing: border-box;
    font-family: 'Poppins', sans-serif;
  }

  /* Atmospheric Gradient Overlay */
  .hero-breadcrumb-section::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(
      180deg,
      rgba(0, 0, 0, 0.35) 0%,
      rgba(0, 0, 0, 0.20) 40%,
      rgba(0, 0, 0, 0.85) 100%
    );
    z-index: 1;
  }

  /* Content Box */
  .hero-breadcrumb-content {
    position: relative;
    z-index: 2;
    max-width: 1000px;
    margin: 0 auto;
    text-align: center;
  }

  /* Main Headline */
  .hero-breadcrumb-title {
    font-size: 44px;
    font-weight: 700;
    line-height: 1.25;
    color: #ffffff;
    margin: 0 0 16px 0;
    letter-spacing: -0.5px;
    text-shadow: 0 4px 18px rgba(0, 0, 0, 0.7);
  }

  /* Amber/Saffron Highlight Phrase */
  .hero-breadcrumb-title .highlight {
    color: #f59e0b;
  }

  /* Subtitle Text */
  .hero-breadcrumb-sub {
    font-size: 16px;
    font-weight: 400;
    color: #e5e7eb;
    margin: 0 0 32px 0;
    line-height: 1.6;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.8);
  }

  /* Maroon Pill Action Button */
  .hero-breadcrumb-btn {
    display: inline-block;
    background: var(--primary-orange); /* Rich Dark Red/Maroon */
    color: #ffffff;
    font-size: 15.5px;
    font-weight: 600;
    padding: 13px 42px;
    border-radius: 50px;
    text-decoration: none;
    box-shadow: 0 8px 24px rgba(139, 0, 0, 0.5);
    transition: all 0.3s ease;
    border: 1px solid rgba(255, 255, 255, 0.15);
  }

  .hero-breadcrumb-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(160, 0, 0, 0.65);
  }

  /* Responsive Adjustments */
  @media (max-width: 900px) {
    .hero-breadcrumb-section {
      min-height: 440px;
      padding-top: 80px;
      padding-bottom: 50px;
    }

    .hero-breadcrumb-title {
      font-size: 32px;
    }

    .hero-breadcrumb-sub {
      font-size: 14.5px;
      margin-bottom: 24px;
    }
  }

  @media (max-width: 580px) {
    .hero-breadcrumb-section {
      min-height: 380px;
      padding: 60px 16px 40px 16px;
    }

    .hero-breadcrumb-title {
      font-size: 25px;
    }

    .hero-breadcrumb-sub {
      font-size: 13.5px;
    }

    .hero-breadcrumb-btn {
      padding: 12px 34px;
      font-size: 14.5px;
    }
  }

  /* Section Container */
  .pandit-sec-wrapper {
    width: 100%;
    padding: 60px 20px;
    background-color: #fdfbf7;
    font-family: 'Poppins', sans-serif;
    color: #1f2937;
    box-sizing: border-box;
  }

  .pandit-sec-container {
    max-width: 1200px;
    margin: 0 auto;
  }

  /* Section Title */
  .pandit-sec-header {
    text-align: center;
    margin-bottom: 40px;
  }

  .pandit-sec-title {
    font-size: 32px;
    font-weight: 700;
    color: #111827;
    margin: 0 0 10px 0;
    letter-spacing: -0.5px;
  }

  .pandit-sec-divider {
    width: 60px;
    height: 4px;
    background: linear-gradient(90deg, #ff701a 0%, #f59e0b 100%);
    margin: 0 auto;
    border-radius: 4px;
  }

  /* Cards List Stack */
  .pandit-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
  }

  /* Card Item */
  .pandit-card {
    background: #ffffff;
    border-radius: 20px;
    padding: 22px 28px;
    border: 1.5px solid #f1e9db;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.03);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1),
                box-shadow 0.35s ease,
                border-color 0.35s ease;
  }

  .pandit-card:hover {
    transform: translateY(-3px);
    border-color: rgba(255, 112, 26, 0.4);
    box-shadow: 0 16px 36px rgba(255, 112, 26, 0.12);
  }

  /* Left Side: Avatar & Information */
  .pandit-info-wrap {
    display: flex;
    align-items: center;
    gap: 20px;
    flex: 1;
    min-width: 0;
  }

  .pandit-avatar {
    width: 68px;
    height: 68px;
    border-radius: 50%;
    object-fit: cover;
    border: 2.5px solid #ff701a;
    box-shadow: 0 6px 16px rgba(255, 112, 26, 0.2);
    flex-shrink: 0;
  }

  .pandit-details {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }

  .pandit-name {
    font-size: 20px;
    font-weight: 700;
    color: #111827;
    margin: 0;
    text-transform: capitalize;
  }

  .pandit-meta {
    display: flex;
    align-items: center;
    gap: 18px;
    flex-wrap: wrap;
    font-size: 13.5px;
    color: #6b7280;
  }

  .pandit-meta-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
  }

  .pandit-meta-item i {
    color: #ff701a;
    font-size: 14px;
  }

  /* Right Side: Action Button */
  .btn-book-now {
    background: linear-gradient(135deg, #ff8c00 0%, #e65c00 100%);
    color: #ffffff;
    padding: 12px 30px;
    border-radius: 50px;
    font-size: 14px;
    font-weight: 700;
    border: none;
    cursor: pointer;
    white-space: nowrap;
    box-shadow: 0 6px 18px rgba(230, 92, 0, 0.35);
    transition: all 0.3s ease;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .btn-book-now:hover {
    transform: scale(1.05);
    box-shadow: 0 8px 22px rgba(230, 92, 0, 0.5);
    background: linear-gradient(135deg, #ff701a 0%, #cc5200 100%);
  }

  /* Mobile Responsive */
  @media (max-width: 600px) {
    .pandit-sec-wrapper {
      padding: 40px 16px;
    }

    .pandit-card {
      flex-direction: column;
      align-items: flex-start;
      gap: 16px;
      padding: 18px 16px;
    }

    .pandit-info-wrap {
      width: 100%;
    }

    .pandit-meta {
      flex-direction: column;
      align-items: flex-start;
      gap: 6px;
    }

    .btn-book-now {
      width: 100%;
      text-align: center;
      padding: 12px 0;
    }
  }
  

    
    /* ==========================================
       MAIN CONTAINER
       ========================================== */
    .katha-container {
      max-width: 900px;
      margin: 0 auto;
      padding: 124px 20px 80px 20px;
    }

    /* ==========================================
       HERO BANNER IMAGE & ANIMATION
       ========================================== */
    .hero-banner-wrap {
      position: relative;
      width: 100%;
      border-radius: 24px;
      overflow: hidden;
      box-shadow: 0 12px 32px rgba(217, 119, 6, 0.2);
      border: 3px solid #ffffff;
      margin-bottom: 28px;
      animation: fadeInDown 0.8s ease-out;
    }

    .hero-banner-img {
      width: 100%;
      height: 360px;
      object-fit: cover;
      display: block;
      transition: transform 0.5s ease;
    }

    .hero-banner-wrap:hover .hero-banner-img {
      transform: scale(1.03);
    }

    .hero-banner-overlay {
      position: absolute;
      inset: 0;
      background: linear-gradient(to top, rgba(45, 26, 14, 0.7) 0%, rgba(0, 0, 0, 0) 60%);
      display: flex;
      align-items: flex-end;
      padding: 24px;
    }

    .banner-badge {
      background: linear-gradient(135deg, var(--primary-orange) 0%, var(--secondary-saffron) 100%);
      color: #ffffff;
      padding: 6px 18px;
      border-radius: 50px;
      font-size: 14px;
      font-weight: 600;
      box-shadow: 0 4px 12px rgba(0,0,0,0.2);
    }

    /* ==========================================
       INTRO CARD (कथा संक्षिप्त विवरण)
       ========================================== */
    .intro-card {
      background: var(--card-bg);
      border-radius: 20px;
      padding: 28px;
      border: 1.5px solid var(--border-color);
      box-shadow: 0 8px 24px rgba(0, 0, 0, 0.03);
      margin-bottom: 30px;
      animation: fadeInUp 0.8s ease-out 0.2s backwards;
    }

    .section-heading {
      font-family: 'Rozha One', serif;
      font-size: 28px;
      color: var(--primary-orange);
      margin-bottom: 12px;
      display: flex;
      align-items: center;
      gap: 10px;
    }

    .section-heading::after {
      content: '';
      flex: 1;
      height: 2px;
      background: linear-gradient(90deg, var(--border-color) 0%, rgba(247, 227, 208, 0) 100%);
    }

    .intro-text {
      font-size: 17px;
      color: var(--body-text);
      font-weight: 500;
      text-align: justify;
    }

    /* ==========================================
       MAIN DESCRIPTION & KATHA CHAPTERS
       ========================================== */
    .katha-content-card {
      background: var(--card-bg);
      border-radius: 24px;
      padding: 32px;
      border: 1.5px solid var(--border-color);
      box-shadow: 0 10px 30px rgba(217, 119, 6, 0.06);
      animation: fadeInUp 0.8s ease-out 0.4s backwards;
    }

    .desc-header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      border-bottom: 2px dashed var(--border-color);
      padding-bottom: 16px;
      margin-bottom: 24px;
    }

    .desc-title {
      font-size: 22px;
      font-weight: 700;
      color: var(--deep-saffron);
      margin: 0;
    }

    .audio-reader-btn {
      background: #fff3e6;
      border: 1px solid var(--primary-orange);
      color: var(--primary-orange);
      padding: 8px 16px;
      border-radius: 50px;
      font-size: 14px;
      font-weight: 600;
      cursor: pointer;
      display: flex;
      align-items: center;
      gap: 8px;
      transition: all 0.3s ease;
    }

    .audio-reader-btn:hover {
      background: var(--primary-orange);
      color: #ffffff;
    }

    /* Katha Paragraphs */
    .katha-paragraph {
      background: #fffdfa;
      border-left: 4px solid var(--primary-orange);
      border-radius: 0 16px 16px 0;
      padding: 20px 24px;
      margin-bottom: 22px;
      font-size: 17.5px;
      color: var(--dark-text);
      line-height: 1.85;
      box-shadow: 0 4px 14px rgba(0, 0, 0, 0.02);
      transition: transform 0.3s ease, box-shadow 0.3s ease;
    }

    .katha-paragraph:hover {
      transform: translateX(4px);
      box-shadow: 0 8px 20px rgba(255, 112, 26, 0.1);
      background: #ffffff;
    }

    .katha-paragraph:last-child {
      margin-bottom: 0;
    }

    /* ==========================================
       ANIMATIONS
       ========================================== */
    @keyframes fadeInDown {
      from {
        opacity: 0;
        transform: translateY(-20px);
      }
      to {
        opacity: 1;
        transform: translateY(0);
      }
    }

    @keyframes fadeInUp {
      from {
        opacity: 0;
        transform: translateY(20px);
      }
      to {
        opacity: 1;
        transform: translateY(0);
      }
    }

    /* ==========================================
       RESPONSIVE DESIGN
       ========================================== */
    @media (max-width: 768px) {
      .hero-banner-img {
        height: 260px;
      }

      .intro-card, .katha-content-card {
        padding: 20px;
      }

      .section-heading {
        font-size: 24px;
      }

      .katha-paragraph {
        font-size: 16px;
        padding: 16px 18px;
      }
    }

    @media (max-width: 480px) {
      .page-title {
        font-size: 20px;
      }

      .hero-banner-img {
        height: 210px;
      }

      .desc-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
      }
    }


/* Outer Wrapper Section */
.pandit-main-wrapper {
  padding: 30px 16px;
  width: 100%;
}

.pandit-section-container {
  max-width: 1100px;
  margin: 0 auto;
}

/* ==========================================
   SEARCH & FILTER BAR SECTION
   ========================================== */
.filter-card {
  background: var(--card-bg);
  border-radius: var(--card-radius);
  padding: 16px 20px;
  box-shadow: var(--shadow-card);
  border: 1px solid var(--border-color);
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 32px;
  transition: box-shadow var(--transition-fast);
}

.filter-card:hover {
  box-shadow: var(--shadow-soft);
}

.input-group {
  position: relative;
  display: flex;
  align-items: center;
  flex: 2;
  min-width: 0;
}

.input-group i {
  position: absolute;
  left: 14px;
  color: var(--primary-orange);
  font-size: 15px;
  pointer-events: none;
}

.filter-input, .filter-select {
  width: 100%;
  height: 46px;
  padding: 0 14px 0 40px;
  border: 1.5px solid #eceae5;
  border-radius: 12px;
  background: var(--bg-cream);
  font-size: 14px;
  color: var(--text-dark);
  outline: none;
  transition: border-color var(--transition-fast), background-color var(--transition-fast);
  cursor: pointer;
}

.filter-grid {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 3;
}

.filter-select {
  padding-left: 14px;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%3Cff701a' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  flex: 1;
}

.filter-input:focus, .filter-select:focus {
  border-color: var(--primary-orange);
  background-color: #ffffff;
}

.filter-search-btn {
  width: 46px;
  height: 46px;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--primary-orange) 0%, var(--dark-orange) 100%);
  color: #ffffff;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  box-shadow: 0 4px 12px rgba(255, 112, 26, 0.3);
  transition: transform var(--transition-fast), box-shadow var(--transition-fast);
  flex-shrink: 0;
}

.filter-search-btn span {
  display: none;
}

.filter-search-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(217, 83, 0, 0.4);
}


/* ==========================================
   PANDIT CARD LIST
   ========================================== */
.pandit-grid {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.pandit-card {
  background: var(--card-bg);
  border-radius: var(--card-radius);
  padding: 20px 24px;
  box-shadow: var(--shadow-card);
  border: 1px solid var(--border-color);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  transition: transform var(--transition-smooth), box-shadow var(--transition-smooth), border-color var(--transition-smooth);
}

.pandit-card-top {
  display: flex;
  align-items: center;
  gap: 20px;
  flex: 1;
}

.pandit-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-soft);
  border-color: rgba(255, 112, 26, 0.3);
}

/* Avatar Frame */
.avatar-wrapper {
  width: 84px;
  height: 84px;
  border-radius: 16px;
  overflow: hidden;
  background: var(--bg-cream);
  border: 2px solid #f3e0d2;
  flex-shrink: 0;
}

.avatar-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Details Block */
.pandit-info {
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex: 1;
}

.pandit-name {
  font-size: 19px;
  font-weight: 700;
  color: var(--text-dark);
  margin: 0;
  text-transform: capitalize;
}

.pandit-meta {
  display: flex;
  align-items: center;
  gap: 14px;
  font-size: 13px;
  color: var(--text-muted);
  flex-wrap: wrap;
}

.meta-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.meta-item i {
  color: var(--primary-orange);
  font-size: 12px;
}

/* Tags Pill Bar */
.tags-container {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  margin-top: 4px;
}

.tag-pill {
  font-size: 11.5px;
  font-weight: 500;
  padding: 3px 10px;
  border-radius: 20px;
  background: #f3f4f6;
  color: var(--text-muted);
  white-space: nowrap;
}

.tag-pill.highlight {
  background: #fff4ec;
  color: var(--dark-orange);
  border: 1px solid rgba(255, 112, 26, 0.2);
}

/* Action & Rating Block */
.pandit-action-block {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: space-between;
  gap: 14px;
  flex-shrink: 0;
}

.status-rating {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
}

.verified-badge {
  color: #10b981;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.rating-score {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  font-weight: 600;
  color: var(--text-dark);
}

.rating-score i {
  color: var(--star-color);
  font-size: 12px;
}

.btn-book-now {
  background: linear-gradient(135deg, var(--primary-orange) 0%, var(--dark-orange) 100%);
  color: #ffffff;
  padding: 9px 24px;
  border-radius: 30px;
  font-size: 13.5px;
  font-weight: 600;
  border: none;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(255, 112, 26, 0.35);
  transition: all var(--transition-fast);
  text-decoration: none;
  white-space: nowrap;
}

.btn-book-now:hover {
  background: linear-gradient(135deg, var(--primary-orange-hover) 0%, #b84300 100%);
  transform: scale(1.03);
  box-shadow: 0 6px 18px rgba(217, 83, 0, 0.45);
}

/* ==========================================
   RESPONSIVE BREAKPOINTS (MOBILE & TABLET)
   ========================================== */

/* Tablet (Max 992px) */
@media (max-width: 992px) {
  .filter-card {
    flex-wrap: wrap;
  }
  .input-group {
    flex: 100%;
  }
  .filter-grid {
    flex: 1;
  }
}

/* Mobile Screens (Max 768px) */
@media (max-width: 768px) {
  .pandit-main-wrapper {
    padding: 20px 12px;
  }

  /* Filter card full stacked */
  .filter-card {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    padding: 14px;
    margin-bottom: 24px;
  }

  .filter-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    width: 100%;
  }

  .filter-grid .filter-select:last-child {
    grid-column: span 2;
  }

  .filter-search-btn {
    width: 100%;
    gap: 8px;
    border-radius: 12px;
    height: 44px;
  }

  .filter-search-btn span {
    display: inline;
    font-weight: 600;
  }

  /* Pandit Card Responsive Stack */
  .pandit-card {
    flex-direction: column;
    align-items: stretch;
    padding: 16px;
    gap: 14px;
  }

  .pandit-card-top {
    align-items: flex-start;
    gap: 14px;
  }

  .avatar-wrapper {
    width: 70px;
    height: 70px;
    border-radius: 12px;
  }

  .pandit-name {
    font-size: 17px;
  }

  .pandit-meta {
    gap: 8px 12px;
            font-size: 10px;
        flex-direction: row;
  }

  .tags-container {
    gap: 5px;
  }

  .tag-pill {
    font-size: 11px;
    padding: 3px 8px;
  }

  /* Action block row layout at bottom of card */
  .pandit-action-block {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    border-top: 1px dashed var(--border-color);
    padding-top: 12px;
    margin-top: 2px;
  }

  .status-rating {
    font-size: 12px;
    gap: 8px;
  }

  .btn-book-now {
    padding: 8px 18px;
    font-size: 12.5px;
  }
}

/* Small Mobile Screens (Max 420px) */
@media (max-width: 420px) {
  .filter-grid {
    grid-template-columns: 1fr;
  }

  .filter-grid .filter-select:last-child {
    grid-column: span 1;
  }

  .pandit-card-top {
    flex-direction: flex-start;
  }

  .status-rating {
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
  }

  .rating-score i {
    font-size: 10px;
  }
}

/* ==========================================
   LOGIN PAGE STYLES (login.php)
   ========================================== */
.lp-wrapper {
  width: 100%;
  min-height: 100vh;
  padding: 130px 20px 60px;
  background: var(--bg-cream);
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}

.lp-container {
  width: 100%;
  max-width: 1080px;
  min-height: 620px;
  background: var(--bg-white);
  border-radius: var(--card-radius);
  box-shadow: var(--shadow-soft);
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  overflow: hidden;
}

/* LEFT: VISUAL PANEL */
.lp-visual {
  position: relative;
  background:
    linear-gradient(160deg, rgba(122, 43, 0, 0.82) 0%, rgba(255, 112, 26, 0.72) 55%, rgba(251, 247, 241, 0.55) 100%),
    url('../img/hero-griha-pravesh.webp') center/cover no-repeat;
  padding: 48px 44px;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
}

.lp-om-decor {
  position: absolute;
  top: -40px;
  right: -40px;
  width: 220px;
  height: 220px;
  opacity: 0.18;
  filter: brightness(0) invert(1);
  pointer-events: none;
}

.lp-visual-inner {
  position: relative;
  z-index: 1;
  color: #ffffff;
}

.lp-visual-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(255, 255, 255, 0.16);
  border: 1px solid rgba(255, 255, 255, 0.35);
  padding: 6px 16px;
  border-radius: 30px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.3px;
  margin-bottom: 22px;
  backdrop-filter: blur(4px);
}

.lp-visual-title {
  font-size: 28px;
  font-weight: 700;
  line-height: 1.35;
  margin-bottom: 14px;
}

.lp-visual-title span {
  color: #ffe3ce;
}

.lp-visual-sub {
  font-size: 14.5px;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.9);
  max-width: 400px;
  margin-bottom: 26px;
}

.lp-trust-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.lp-trust-list li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  font-weight: 500;
}

.lp-trust-list i {
  color: #ffe3ce;
  font-size: 15px;
  flex-shrink: 0;
}

/* RIGHT: FORM PANEL */
.lp-form-col {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 48px 44px;
}

.lp-card {
  width: 100%;
  max-width: 380px;
}

.lp-brand {
  display: inline-flex;
  margin-bottom: 30px;
}

.lp-brand img {
  height: 40px;
  width: auto;
}

.lp-step {
  position: relative;
}

@keyframes lpStepEnter {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.lp-step-enter {
  animation: lpStepEnter var(--transition-smooth);
}

.lp-title {
  font-size: 26px;
  font-weight: 700;
  color: var(--title-color);
  margin-bottom: 8px;
}

.lp-subtitle {
  font-size: 14.5px;
  color: var(--text-muted);
  line-height: 1.6;
  margin-bottom: 28px;
}

.lp-subtitle span {
  color: var(--text-dark);
  font-weight: 600;
}

.lp-field-group {
  margin-bottom: 22px;
}

.lp-label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: var(--text-dark);
  margin-bottom: 8px;
}

.lp-mobile-input-wrap {
  display: flex;
  align-items: stretch;
  border: 1.5px solid #e5e0d8;
  border-radius: 12px;
  overflow: hidden;
  background: var(--bg-cream);
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}

.lp-mobile-input-wrap:focus-within {
  border-color: var(--primary-orange);
  box-shadow: 0 0 0 4px rgba(255, 112, 26, 0.12);
  background: #ffffff;
}

.lp-country-code {
  display: flex;
  align-items: center;
  padding: 0 14px;
  font-weight: 600;
  font-size: 14.5px;
  color: var(--text-dark);
  border-right: 1.5px solid #e5e0d8;
  background: rgba(255, 112, 26, 0.06);
  flex-shrink: 0;
}

.lp-mobile-input {
  flex: 1;
  min-width: 0;
  border: none;
  outline: none;
  background: transparent;
  padding: 0 16px;
  height: 52px;
  font-size: 15px;
  font-family: inherit;
  color: var(--text-dark);
  letter-spacing: 0.5px;
}

.lp-error-msg {
  display: block;
  min-height: 18px;
  font-size: 12.5px;
  color: #d92d20;
  margin-top: 6px;
}

.lp-btn-block {
  width: 100%;
  padding: 14px 24px;
  border-radius: 12px;
  font-size: 15px;
  gap: 10px;
}

.lp-btn-block.lp-btn-loading {
  opacity: 0.75;
  pointer-events: none;
}

.lp-security-note {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 13px;
  color: var(--text-muted);
  margin-top: 22px;
  text-align: center;
}

.lp-security-note i {
  color: var(--primary-orange);
}

/* OTP STEP */
.lp-back-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1.5px solid var(--border-color);
  background: var(--bg-white);
  color: var(--text-dark);
  cursor: pointer;
  margin-bottom: 18px;
  transition: all var(--transition-fast);
}

.lp-back-btn:hover {
  background: var(--bg-cream);
  border-color: var(--primary-orange);
  color: var(--primary-orange);
}

.lp-otp-fieldset {
  border: none;
  padding: 0;
  margin: 0 0 8px;
}

.lp-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.lp-otp-group {
  display: flex;
  gap: 10px;
}

.lp-otp-box {
  width: 100%;
  aspect-ratio: 1 / 1;
  max-width: 52px;
  border: 1.5px solid #e5e0d8;
  border-radius: 12px;
  background: var(--bg-cream);
  text-align: center;
  font-size: 20px;
  font-weight: 700;
  color: var(--text-dark);
  outline: none;
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);
}

.lp-otp-box:focus {
  border-color: var(--primary-orange);
  background: #ffffff;
  box-shadow: 0 0 0 4px rgba(255, 112, 26, 0.12);
  transform: translateY(-1px);
}

.lp-resend-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

.lp-resend-btn {
  background: none;
  border: none;
  padding: 0;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--primary-orange);
  cursor: pointer;
}

.lp-resend-btn:disabled {
  color: var(--text-muted);
  cursor: default;
}

.lp-change-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: none;
  border: none;
  padding: 0;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--text-muted);
  cursor: pointer;
  transition: color var(--transition-fast);
}

.lp-change-btn:hover {
  color: var(--primary-orange);
}

/* RESPONSIVE: LOGIN PAGE */
@media (max-width: 992px) {
  .lp-container {
    grid-template-columns: 1fr;
    max-width: 480px;
  }

  .lp-visual {
    display: none;
  }

  .lp-form-col {
    padding: 40px 32px;
  }
}

@media (max-width: 768px) {
  .lp-wrapper {
    padding: 110px 16px 40px;
    align-items: flex-start;
  }

  .lp-container {
    min-height: auto;
    box-shadow: var(--shadow-card);
  }

  .lp-form-col {
    padding: 34px 24px;
  }
}

@media (max-width: 420px) {
  .lp-otp-group {
    gap: 7px;
  }

  .lp-otp-box {
    max-width: 44px;
    font-size: 17px;
  }

  .lp-title {
    font-size: 22px;
  }
}

/* Outer Wrapper Section */
.about-main-wrapper {
  padding: 40px 16px;
  width: 100%;
}

.about-section-container {
  max-width: 1100px;
  margin: 0 auto;
}

/* 2-Column Split Card Frame */
.about-grid-card {
  background: var(--card-bg);
  border-radius: var(--card-radius);
  padding: 40px;
  box-shadow: var(--shadow-card);
  border: 1px solid var(--border-color);
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 40px;
  align-items: center;
  transition: box-shadow var(--transition-fast), border-color var(--transition-fast);
}

.about-grid-card:hover {
  box-shadow: var(--shadow-soft);
  border-color: rgba(255, 112, 26, 0.25);
}

/* ==========================================
   LEFT COLUMN: MEDIA
   ========================================== */
.about-media-col {
  position: relative;
  width: 100%;
}

.image-frame {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
}

.about-img {
  width: 100%;
  height: 420px;
  object-fit: cover;
  display: block;
  border-radius: 20px;
  transition: transform var(--transition-smooth);
}

.about-grid-card:hover .about-img {
  transform: scale(1.02);
}

/* Glow Accent */
.glow-backdrop {
  position: absolute;
  top: -20px;
  left: -20px;
  right: -20px;
  bottom: -20px;
  background: radial-gradient(circle, rgba(255, 112, 26, 0.15) 0%, transparent 70%);
  z-index: -1;
}

/* Floating Overlay Badge */
.floating-stat-badge {
  position: absolute;
  bottom: 20px;
  left: 20px;
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 255, 255, 0.5);
  padding: 12px 18px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  gap: 12px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

.badge-icon {
  width: 38px;
  height: 38px;
  background: linear-gradient(135deg, var(--primary-orange) 0%, var(--dark-orange) 100%);
  color: #ffffff;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
}

.badge-text {
  display: flex;
  flex-direction: column;
}

.stat-number {
  font-size: 16px;
  font-weight: 700;
  color: var(--text-dark);
  line-height: 1;
}

.stat-label {
  font-size: 11px;
  color: var(--text-muted);
  margin-top: 2px;
  font-weight: 500;
}

/* ==========================================
   RIGHT COLUMN: CONTENT
   ========================================== */
.about-content-col {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.about-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 14px;
  background: #fff4ec;
  border: 1px solid rgba(255, 112, 26, 0.2);
  border-radius: 30px;
  color: var(--dark-orange);
  font-size: 12.5px;
  font-weight: 600;
  width: fit-content;
}

.about-badge i {
  font-size: 13px;
  color: var(--primary-orange);
}

.about-title {
  font-size: 32px;
  font-weight: 700;
  color: var(--title-color);
  line-height: 1.2;
  margin: 0;
}

.about-title span {
  color: var(--primary-orange);
}

.about-description {
  font-size: 15.5px;
  color: var(--text-dark);
  line-height: 1.7;
  margin: 0;
}

.about-description strong {
  color: var(--dark-orange);
  font-weight: 600;
}

.about-subtext {
  font-size: 14px;
  color: var(--text-muted);
  line-height: 1.65;
  margin: 0;
}

/* Feature Bullet Points */
.feature-bullets {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 4px;
}

.bullet-item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--text-dark);
}

.bullet-icon {
  color: var(--primary-orange);
  font-size: 15px;
  display: flex;
  align-items: center;
}

/* Store Link Block */
.about-store-wrapper {
  display: flex;
  align-items: center;
  gap: 16px;
  padding-top: 16px;
  border-top: 1px dashed var(--border-color);
  margin-top: 10px;
}

.store-label {
  font-size: 13.5px;
  font-weight: 600;
  color: var(--text-muted);
}

.google-store-btn {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  background: #111827;
  color: #ffffff;
  padding: 10px 20px;
  border-radius: 12px;
  text-decoration: none;
  transition: transform var(--transition-fast), background-color var(--transition-fast), box-shadow var(--transition-fast);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.google-store-btn:hover {
  background: #000000;
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25);
}

.google-store-btn i {
  font-size: 22px;
  color: var(--star-color);
}

.google-store-btn .btn-text {
  display: flex;
  flex-direction: column;
  line-height: 1.1;
}

.google-store-btn .small-text {
  font-size: 9px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: #9ca3af;
}

.google-store-btn .bold-text {
  font-size: 14.5px;
  font-weight: 600;
  color: #ffffff;
}

/* ==========================================
   RESPONSIVE BREAKPOINTS
   ========================================== */

/* Tablet (Max 992px) */
@media (max-width: 992px) {
  .about-grid-card {
    grid-template-columns: 1fr;
    gap: 28px;
    padding: 30px;
  }

  .about-img {
    height: 320px;
  }
}

/* Mobile Screens (Max 600px) */
@media (max-width: 600px) {
  .about-main-wrapper {
    padding: 20px 12px;
  }

  .about-grid-card {
    padding: 20px 16px;
    border-radius: 16px;
  }

  .about-img {
    height: 240px;
    border-radius: 14px;
  }

  .floating-stat-badge {
    bottom: 12px;
    left: 12px;
    padding: 8px 12px;
  }

  .stat-number {
    font-size: 14px;
  }

  .stat-label {
    font-size: 10px;
  }

  .about-title {
    font-size: 24px;
  }

  .about-description {
    font-size: 14.5px;
  }

  .about-subtext {
    font-size: 13.5px;
  }

  .about-store-wrapper {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }

  .google-store-btn {
    width: 100%;
    justify-content: center;
  }
}

/* ==========================================
   MY ACCOUNT / DASHBOARD PAGE STYLES (my_account.php)
   ========================================== */
.acc-shell {
  display: flex;
  align-items: flex-start;
  gap: 24px;
  max-width: 1280px;
  margin: 0 auto;
  padding: 130px 20px 60px;
  min-height: 100vh;
  box-sizing: border-box;
}

/* SIDEBAR */
.acc-sidebar {
  position: sticky;
  top: 110px;
  width: 260px;
  flex-shrink: 0;
  background: var(--bg-white);
  border: 1px solid var(--border-color);
  border-radius: var(--card-radius);
  box-shadow: var(--shadow-card);
  padding: 26px 18px;
}

.acc-sidebar-close {
  display: none;
}

.acc-profile-mini {
  text-align: center;
  padding-bottom: 20px;
  margin-bottom: 16px;
  border-bottom: 1px solid var(--border-color);
}

.acc-avatar {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--primary-orange) 0%, var(--dark-orange) 100%);
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  font-weight: 700;
  margin: 0 auto 12px;
  box-shadow: 0 4px 12px rgba(255, 112, 26, 0.3);
}

.acc-avatar-lg {
  width: 84px;
  height: 84px;
  font-size: 28px;
  margin: 0;
  flex-shrink: 0;
}

.acc-profile-mini-name {
  font-size: 15.5px;
  font-weight: 700;
  color: var(--text-dark);
  margin-bottom: 2px;
}

.acc-profile-mini-phone {
  font-size: 13px;
  color: var(--text-muted);
}

.acc-nav-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.acc-nav-link {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 12px;
  font-size: 14.5px;
  font-weight: 500;
  color: var(--text-body);
  text-decoration: none;
  transition: all var(--transition-fast);
}

.acc-nav-link i {
  width: 18px;
  text-align: center;
  color: var(--text-muted);
  transition: color var(--transition-fast);
}

.acc-nav-link:hover {
  background: var(--bg-cream);
  color: var(--text-dark);
}

.acc-nav-link.active {
  background: rgba(255, 112, 26, 0.1);
  color: var(--primary-orange);
  font-weight: 600;
}

.acc-nav-link.active i {
  color: var(--primary-orange);
}

.acc-nav-logout {
  margin-top: 10px;
  padding-top: 16px;
  border-top: 1px solid var(--border-color);
  color: #b91c1c;
}

.acc-nav-logout i {
  color: #b91c1c;
}

.acc-nav-logout:hover {
  background: rgba(185, 28, 28, 0.08);
  color: #b91c1c;
}

/* MAIN CONTENT */
.acc-main {
  flex: 1;
  min-width: 0;
}

.acc-topbar {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 24px;
}

.acc-hamburger {
  display: none;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 10px;
  border: 1px solid var(--border-color);
  background: var(--bg-white);
  color: var(--text-dark);
  cursor: pointer;
  flex-shrink: 0;
}

.acc-topbar-heading {
  flex: 1;
  min-width: 0;
}

.acc-page-title {
  font-size: 24px;
  font-weight: 700;
  color: var(--title-color);
  margin-bottom: 4px;
}

.acc-page-subtitle {
  font-size: 14px;
  color: var(--text-muted);
}

/* PROFILE SUMMARY CARD */
.acc-profile-card {
  background: var(--card-bg);
  border: 1px solid var(--border-color);
  border-radius: var(--card-radius);
  box-shadow: var(--shadow-card);
  padding: 26px 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
  margin-bottom: 24px;
}

.acc-profile-card-left {
  display: flex;
  align-items: center;
  gap: 18px;
}

.acc-profile-card-info h2 {
  font-size: 19px;
  font-weight: 700;
  color: var(--text-dark);
  margin-bottom: 6px;
}

.acc-profile-card-info p {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13.5px;
  color: var(--text-muted);
  margin-bottom: 4px;
}

.acc-profile-card-info p i {
  color: var(--primary-orange);
  width: 14px;
}

.acc-member-since {
  display: inline-block;
  margin-top: 6px;
  font-size: 12px;
  font-weight: 600;
  color: var(--dark-orange);
  background: rgba(255, 112, 26, 0.1);
  padding: 4px 12px;
  border-radius: 20px;
}

/* STATS GRID */
.acc-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  margin-bottom: 32px;
}

.acc-stat-card {
  background: var(--card-bg);
  border: 1px solid var(--border-color);
  border-radius: var(--card-radius);
  box-shadow: var(--shadow-card);
  padding: 20px;
  display: flex;
  align-items: center;
  gap: 14px;
  transition: transform var(--transition-smooth), box-shadow var(--transition-smooth);
}

.acc-stat-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-soft);
}

.acc-stat-icon {
  width: 46px;
  height: 46px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  flex-shrink: 0;
}

.acc-stat-icon-total {
  background: rgba(255, 112, 26, 0.12);
  color: var(--primary-orange);
}

.acc-stat-icon-pending {
  background: rgba(217, 119, 6, 0.12);
  color: #b45309;
}

.acc-stat-icon-accepted {
  background: rgba(59, 130, 246, 0.12);
  color: #2563eb;
}

.acc-stat-icon-confirmed {
  background: rgba(34, 197, 94, 0.12);
  color: #15803d;
}

.acc-stat-value {
  display: block;
  font-size: 22px;
  font-weight: 700;
  color: var(--text-dark);
  line-height: 1.2;
}

.acc-stat-label {
  display: block;
  font-size: 13px;
  color: var(--text-muted);
}

/* GENERIC SECTION HEADER */
.acc-section {
  margin-bottom: 32px;
  scroll-margin-top: 110px;
}

.acc-section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 18px;
}

.acc-section-title {
  font-size: 19px;
  font-weight: 700;
  color: var(--title-color);
}

.acc-section-subtitle {
  font-size: 13.5px;
  color: var(--text-muted);
  margin-top: 2px;
}

.acc-edit-btn-sm {
  padding: 8px 18px;
  font-size: 13px;
}

/* BOOKING FILTER TABS */
.acc-filter-tabs {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 20px;
  overflow-x: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.acc-filter-tabs::-webkit-scrollbar {
  display: none;
}

.acc-filter-tab {
  flex-shrink: 0;
  padding: 9px 20px;
  border-radius: 30px;
  border: 1.5px solid var(--border-color);
  background: var(--bg-white);
  color: var(--text-dark);
  font-family: inherit;
  font-size: 13.5px;
  font-weight: 600;
  cursor: pointer;
  transition: all var(--transition-fast);
}

.acc-filter-tab:hover {
  border-color: var(--primary-orange);
  color: var(--primary-orange);
}

.acc-filter-tab.active {
  background: var(--primary-orange);
  border-color: var(--primary-orange);
  color: #ffffff;
}

/* BOOKING HISTORY */
.acc-booking-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
}

.acc-booking-card {
  background: var(--card-bg);
  border: 1px solid var(--border-color);
  border-radius: var(--card-radius);
  box-shadow: var(--shadow-card);
  padding: 20px 22px;
  transition: transform var(--transition-smooth), box-shadow var(--transition-smooth);
}

.acc-booking-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-soft);
}

.acc-booking-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 6px;
}

.acc-booking-temple {
  font-size: 16px;
  font-weight: 700;
  color: var(--text-dark);
}

.acc-status {
  flex-shrink: 0;
  font-size: 11.5px;
  font-weight: 600;
  padding: 4px 12px;
  border-radius: 20px;
  white-space: nowrap;
}

.acc-status-pending {
  background: rgba(217, 119, 6, 0.12);
  color: #b45309;
}

.acc-status-accepted {
  background: rgba(59, 130, 246, 0.12);
  color: #2563eb;
}

.acc-status-confirmed {
  background: rgba(34, 197, 94, 0.12);
  color: #15803d;
}

.acc-status-rejected {
  background: rgba(220, 38, 38, 0.12);
  color: #dc2626;
}

.acc-booking-service {
  font-size: 14px;
  font-weight: 600;
  color: var(--primary-orange);
  margin-bottom: 12px;
}

.acc-booking-meta {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 7px;
  margin-bottom: 14px;
}

.acc-booking-meta li {
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 13px;
  color: var(--text-body);
}

.acc-booking-meta i {
  color: var(--text-muted);
  width: 14px;
  text-align: center;
}

.acc-booking-amount {
  font-size: 15px;
  font-weight: 700;
  color: var(--text-dark);
  padding-top: 12px;
  border-top: 1px dashed var(--border-color);
}

.acc-view-pandit-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  margin-top: 12px;
  padding: 10px 14px;
  border: 1.5px solid var(--primary-orange);
  border-radius: 10px;
  background: transparent;
  color: var(--primary-orange);
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: background-color var(--transition-fast), color var(--transition-fast);
}

.acc-view-pandit-btn:hover {
  background: var(--primary-orange);
  color: #ffffff;
}

/* VIEW PANDIT DETAILS MODAL */
.acc-modal-card.acc-pandit-modal-card {
  max-width: 380px;
}

.acc-pandit-modal-body {
  padding: 28px 24px;
  text-align: center;
}

.acc-pandit-modal-img {
  width: 92px;
  height: 92px;
  border-radius: 50%;
  object-fit: cover;
  border: 3px solid var(--bg-cream);
  box-shadow: var(--shadow-card);
  margin: 0 auto 14px;
}

.acc-pandit-modal-name {
  font-size: 18px;
  font-weight: 700;
  color: var(--text-dark);
  margin-bottom: 18px;
}

.acc-pandit-modal-meta {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 12px;
  text-align: left;
}

.acc-pandit-modal-meta li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 10px 12px;
  background: var(--bg-cream);
  border-radius: 10px;
  font-size: 13.5px;
  color: var(--text-dark);
}

.acc-pandit-modal-meta li i {
  color: var(--primary-orange);
  width: 14px;
  margin-top: 2px;
  text-align: center;
}

/* PROFILE DETAILS */
.acc-info-card {
  background: var(--card-bg);
  border: 1px solid var(--border-color);
  border-radius: var(--card-radius);
  box-shadow: var(--shadow-card);
  padding: 26px 28px;
}

.acc-info-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px 28px;
}

.acc-info-item {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.acc-info-item-full {
  grid-column: 1 / -1;
}

.acc-info-label {
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  color: var(--text-muted);
}

.acc-info-value {
  font-size: 14.5px;
  color: var(--text-dark);
  line-height: 1.6;
}

.acc-info-empty {
  color: var(--text-muted);
  font-style: italic;
}

/* NOTIFICATIONS EMPTY STATE */
.acc-empty-state {
  background: var(--card-bg);
  border: 1px dashed var(--border-color);
  border-radius: var(--card-radius);
  padding: 46px 24px;
  text-align: center;
}

.acc-empty-state i {
  font-size: 30px;
  color: var(--text-muted);
  margin-bottom: 14px;
}

.acc-empty-state p {
  font-size: 15px;
  font-weight: 600;
  color: var(--text-dark);
  margin-bottom: 6px;
}

.acc-empty-state span {
  font-size: 13px;
  color: var(--text-muted);
}

/* ABOUT / TRUST SECTION */
.acc-about-card {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  background: var(--bg-cream);
  border: 1px solid var(--border-color);
  border-radius: var(--card-radius);
  padding: 24px 28px;
}

.acc-about-icon {
  font-size: 22px;
  color: var(--primary-orange);
  flex-shrink: 0;
  margin-top: 2px;
}

.acc-about-card p {
  font-size: 13.5px;
  line-height: 1.75;
  color: var(--text-body);
}

/* EDIT PROFILE MODAL */
.acc-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(31, 41, 55, 0.55);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  opacity: 0;
  visibility: hidden;
  transition: opacity var(--transition-fast), visibility var(--transition-fast);
  z-index: 2000;
}

.acc-modal-overlay.acc-modal-active {
  opacity: 1;
  visibility: visible;
}

.acc-modal-card {
  width: 100%;
  max-width: 560px;
  max-height: 88vh;
  overflow-y: auto;
  background: var(--bg-white);
  border-radius: var(--card-radius);
  box-shadow: var(--shadow-lg);
  transform: translateY(16px) scale(0.98);
  transition: transform var(--transition-smooth);
}

.acc-modal-overlay.acc-modal-active .acc-modal-card {
  transform: translateY(0) scale(1);
}

.acc-modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 24px;
  border-bottom: 1px solid var(--border-color);
}

.acc-modal-header h3 {
  font-size: 17px;
  font-weight: 700;
  color: var(--title-color);
  display: flex;
  align-items: center;
  gap: 10px;
}

.acc-modal-close {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: none;
  background: var(--bg-cream);
  color: var(--text-dark);
  cursor: pointer;
  transition: all var(--transition-fast);
}

.acc-modal-close:hover {
  background: rgba(255, 112, 26, 0.12);
  color: var(--primary-orange);
}

.acc-modal-body {
  padding: 24px;
}

.acc-modal-first-time-note {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 14px;
  padding: 12px 14px;
  border-radius: 10px;
  background: #fff4e6;
  border: 1px solid #ffdca8;
  color: var(--text-dark);
  font-size: 13px;
}

.acc-modal-first-time-note i {
  color: var(--primary-orange);
}

.acc-form-error {
  display: block;
  margin-bottom: 14px;
  color: #d64545;
  font-size: 13px;
  font-weight: 600;
}

.acc-form-error:empty {
  display: none;
}

.acc-form-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  margin-bottom: 22px;
}

.acc-form-group-full {
  grid-column: 1 / -1;
}

.acc-form-group label {
  display: block;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--text-dark);
  margin-bottom: 6px;
}

.acc-form-group input,
.acc-form-group select,
.acc-form-group textarea {
  width: 100%;
  padding: 11px 14px;
  border: 1.5px solid #e5e0d8;
  border-radius: 10px;
  background: var(--bg-cream);
  font-size: 13.5px;
  font-family: inherit;
  color: var(--text-dark);
  outline: none;
  resize: vertical;
  transition: border-color var(--transition-fast), background-color var(--transition-fast);
}

.acc-form-group input:focus,
.acc-form-group select:focus,
.acc-form-group textarea:focus {
  border-color: var(--primary-orange);
  background: #ffffff;
}

.acc-form-group input:disabled {
  color: var(--text-muted);
  cursor: not-allowed;
}

.acc-modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
}

.acc-modal-cancel-btn {
  padding: 10px 22px;
  border-radius: 30px;
  border: 1.5px solid var(--border-color);
  background: var(--bg-white);
  color: var(--text-dark);
  font-weight: 600;
  font-size: 14px;
  cursor: pointer;
  transition: all var(--transition-fast);
}

.acc-modal-cancel-btn:hover {
  background: var(--bg-cream);
}

/* MOBILE DRAWER OVERLAY */
.acc-overlay {
  display: none;
}

.acc-edit-profile-btn, .acc-edit-btn-sm {
    
    gap: 10px;
  }
/* RESPONSIVE: ACCOUNT DASHBOARD */
@media (max-width: 992px) {
  .acc-stats-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .acc-booking-grid {
    grid-template-columns: 1fr;
  }

  .acc-sidebar {
    position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    width: 280px;
    max-width: 82vw;
    border-radius: 0;
    transform: translateX(-100%);
    transition: transform var(--transition-smooth);
    z-index: 2100;
    overflow-y: auto;
  }

  .acc-sidebar.acc-sidebar-open {
    transform: translateX(0);
  }

  .acc-sidebar-close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: none;
    background: var(--bg-cream);
    color: var(--text-dark);
    cursor: pointer;
    margin-bottom: 14px;
    margin-left: auto;
  }

  .acc-hamburger {
    display: flex;
  }

  .acc-overlay {
    display: block;
    position: fixed;
    inset: 0;
    background: rgba(31, 41, 55, 0.5);
    opacity: 0;
    visibility: hidden;
    transition: opacity var(--transition-fast), visibility var(--transition-fast);
    z-index: 2050;
  }

  .acc-overlay.acc-overlay-visible {
    opacity: 1;
    visibility: visible;
  }
}

@media (max-width: 768px) {
  .acc-shell {
    padding: 110px 14px 40px;
  }

  .acc-profile-card {
    padding: 22px;
  }

  .acc-info-grid,
  .acc-form-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 600px) {
  .acc-stats-grid {
    grid-template-columns: 1fr;
  }

  .acc-profile-card-left {
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
  }

  .acc-edit-profile-btn {
    width: 100%;
    justify-content: center;
    padding-right: 10px;
  }

  .acc-modal-actions {
    flex-direction: column-reverse;
  }

  .acc-modal-actions button {
    width: 100%;
    justify-content: center;
  }
}

/* Outer Section Wrapper */
.policy-main-wrapper {
  padding: 40px 16px;
  width: 100%;
}

.policy-section-container {
  max-width: 1000px;
  margin: 0 auto;
}

/* Card Container */
.policy-card {
  background: var(--card-bg);
  border-radius: var(--card-radius);
  padding: 40px;
  box-shadow: var(--shadow-card);
  border: 1px solid var(--border-color);
  transition: box-shadow var(--transition-fast);
}

.policy-card:hover {
  box-shadow: var(--shadow-soft);
}

/* Header Styling */
.policy-header {
  border-bottom: 1px dashed var(--border-color);
  padding-bottom: 24px;
  margin-bottom: 32px;
}

.policy-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 14px;
  background: #fff4ec;
  border: 1px solid rgba(255, 112, 26, 0.2);
  border-radius: 30px;
  color: var(--dark-orange);
  font-size: 12.5px;
  font-weight: 600;
  margin-bottom: 12px;
}

.policy-badge i {
  color: var(--primary-orange);
}

.policy-title {
  font-size: 32px;
  font-weight: 700;
  color: var(--title-color);
  margin: 0 0 8px 0;
}

.policy-title span {
  color: var(--primary-orange);
}

.policy-subtitle {
  font-size: 14.5px;
  color: var(--text-muted);
  margin: 0;
}

/* Policy Content Blocks Layout */
.policy-content {
  display: flex;
  flex-direction: column;
  gap: 28px;
}

.policy-block {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  padding: 20px;
  border-radius: 16px;
  background: var(--bg-cream);
  border: 1px solid #f3e0d2;
  transition: border-color var(--transition-fast), background-color var(--transition-fast);
}

.policy-block:hover {
  border-color: rgba(255, 112, 26, 0.3);
  background-color: #fdf8f4;
}

.block-icon {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: #ffffff;
  color: var(--primary-orange);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  box-shadow: 0 4px 12px rgba(255, 112, 26, 0.12);
  flex-shrink: 0;
}

.block-body {
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1;
}

.block-body h3 {
  font-size: 17px;
  font-weight: 700;
  color: var(--text-dark);
  margin: 0;
  line-height: 1.3;
}

.block-body p {
  font-size: 14px;
  color: var(--text-dark);
  line-height: 1.7;
  margin: 0;
}

/* Highlighted Warning Block for Disclaimers */
.policy-block.warning-block {
  background: #fff8f5;
  border-color: rgba(255, 112, 26, 0.35);
}

.policy-block.warning-block .block-icon {
  background: var(--primary-orange);
  color: #ffffff;
}

/* ==========================================
   RESPONSIVE BREAKPOINTS
   ========================================== */

/* Tablet & Mobile (Max 768px) */
@media (max-width: 768px) {
  .policy-main-wrapper {
    padding: 20px 12px;
  }

  .policy-card {
    padding: 24px 18px;
    border-radius: 16px;
  }

  .policy-title {
    font-size: 24px;
  }

  .policy-subtitle {
    font-size: 13.5px;
  }

  .policy-block {
    flex-direction: column;
    gap: 12px;
    padding: 16px;
  }

  .block-icon {
    width: 36px;
    height: 36px;
    font-size: 15px;
    border-radius: 10px;
  }

  .block-body h3 {
    font-size: 15.5px;
  }

  .block-body p {
    font-size: 13.5px;
    line-height: 1.65;
  }
}

/* Small Mobile (Max 420px) */
@media (max-width: 420px) {
  .policy-card {
    padding: 18px 14px;
  }

  .policy-header {
    padding-bottom: 16px;
    margin-bottom: 20px;
  }
}

/* ==========================================
   HEADER — DEVOTIONAL DROPDOWN ICONS
   ========================================== */
.dropdown-item a i {
  width: 16px;
  margin-right: 8px;
  color: var(--primary-orange);
  text-align: center;
}

.mobile-submenu a i {
  width: 14px;
  margin-right: 8px;
  color: var(--primary-orange);
  text-align: center;
}

/* ==========================================
   DEVOTIONAL PAGES — SHARED COMPONENTS
   (Puja Samagri / Bhajan / Pustak / Aarti / Chalisa)
   ========================================== */
.devo-page-wrapper {
  max-width: 1100px;
  margin: 0 auto;
  padding: 28px 20px 60px;
}

/* CATEGORY SLIDER (horizontal — Puja Samagri) */
.devo-cat-slider {
  display: flex;
  gap: 14px;
  overflow-x: auto;
  padding-bottom: 6px;
  margin-bottom: 30px;
  scrollbar-width: thin;
}

.devo-cat-card {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 18px 10px 10px;
  border-radius: 16px;
  background: var(--bg-white);
  border: 1.5px solid var(--border-color);
  text-decoration: none;
  transition: all var(--transition-fast);
  min-width: 168px;
}

.devo-cat-card:hover {
  border-color: var(--primary-orange);
}

.devo-cat-card.active {
  background: var(--bg-cream);
  border-color: var(--primary-orange);
}

.devo-cat-thumb {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  font-size: 17px;
  flex-shrink: 0;
  overflow: hidden;
}

.devo-cat-thumb img,
.devo-samagri-thumb img,
.devo-book-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.devo-cat-title {
  font-size: 14.5px;
  font-weight: 600;
  color: var(--text-dark);
}

/* SAMAGRI LIST */
.devo-samagri-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 20px;
}

.devo-section-title {
  font-size: 19px;
  font-weight: 700;
  color: var(--title-color);
}

.devo-samagri-actions {
  display: flex;
  gap: 10px;
}

.devo-action-btn {
  padding: 9px 20px;
  font-size: 13.5px;
  border-radius: 30px;
}

.devo-samagri-list {
  background: var(--card-bg);
  border: 1px solid var(--border-color);
  border-radius: var(--card-radius);
  box-shadow: var(--shadow-card);
  overflow: hidden;
}

.devo-samagri-row {
  display: grid;
  grid-template-columns: 56px 1fr auto;
  align-items: center;
  gap: 16px;
  padding: 16px 22px;
  border-bottom: 1px solid var(--border-color);
  transition: background var(--transition-fast);
}

.devo-samagri-row:last-child {
  border-bottom: none;
}

.devo-samagri-row:hover {
  background: var(--bg-cream);
}

.devo-samagri-thumb {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  font-size: 17px;
  overflow: hidden;
}

.devo-samagri-name {
  font-size: 14.5px;
  font-weight: 600;
  color: var(--text-dark);
}

.devo-samagri-qty {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-muted);
  white-space: nowrap;
}

/* BHAJAN LAYOUT (sidebar + content) */
.devo-bhajan-layout {
  display: flex;
  align-items: flex-start;
  gap: 24px;
}

.devo-cat-sidebar {
  flex-shrink: 0;
  width: 240px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  position: sticky;
  top: 110px;
}

.devo-cat-card-row {
  width: 100%;
  min-width: 0;
}

.devo-content-area {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

/* SONG CARD (Bhajan list item) */
.devo-song-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  background: var(--card-bg);
  border: 1px solid var(--border-color);
  border-radius: var(--card-radius);
  box-shadow: var(--shadow-card);
  padding: 22px 24px;
  text-decoration: none;
  transition: transform var(--transition-smooth), box-shadow var(--transition-smooth), border-color var(--transition-smooth);
}

.devo-song-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-soft);
  border-color: var(--primary-orange);
}

.devo-song-title {
  font-size: 15px;
  font-weight: 600;
  color: var(--text-dark);
}

.devo-song-play-btn {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 18px;
  border-radius: 30px;
  background: var(--bg-cream);
  color: var(--dark-orange);
  font-weight: 600;
  font-size: 13.5px;
  transition: all var(--transition-fast);
}

.devo-song-card:hover .devo-song-play-btn {
  background: var(--primary-orange);
  color: #ffffff;
}

/* BOOK LIST */
.devo-book-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.devo-book-card {
  display: flex;
  align-items: center;
  gap: 18px;
  background: var(--bg-white);
  border-radius: var(--card-radius);
  box-shadow: var(--shadow-card);
  padding: 18px 22px;
  text-decoration: none;
  transition: transform var(--transition-smooth), box-shadow var(--transition-smooth);
}

.devo-book-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-soft);
}

.devo-book-cover {
  width: 64px;
  height: 84px;
  border-radius: 10px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  font-size: 22px;
  overflow: hidden;
}

.devo-book-info {
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-width: 0;
}

.devo-book-title {
  font-size: 16px;
  font-weight: 700;
  color: var(--text-dark);
}

.devo-book-author {
  font-size: 13.5px;
  color: var(--text-muted);
}

/* BOOK DETAIL */
.devo-book-detail-card {
  display: flex;
  gap: 28px;
  background: var(--bg-white);
  border-radius: var(--card-radius);
  box-shadow: var(--shadow-card);
  padding: 32px;
}

.devo-book-cover-lg {
  width: 140px;
  height: 190px;
  border-radius: 14px;
  font-size: 40px;
}

.devo-book-detail-info {
  flex: 1;
  min-width: 0;
}

.devo-book-detail-title {
  font-size: 22px;
  font-weight: 700;
  color: var(--title-color);
  margin-bottom: 8px;
}

.devo-book-detail-author {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: var(--text-muted);
  margin-bottom: 16px;
}

.devo-book-detail-author i {
  color: var(--primary-orange);
}

.devo-book-detail-desc {
  font-size: 14.5px;
  line-height: 1.75;
  color: var(--text-body);
  margin-bottom: 22px;
}

/* AARTI / CHALISA LIST */
.devo-aarti-list {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.devo-aarti-card {
  display: flex;
  align-items: center;
  gap: 16px;
  background: var(--bg-cream);
  border-radius: var(--card-radius);
  padding: 16px 20px;
  text-decoration: none;
  transition: all var(--transition-smooth);
}

.devo-aarti-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-soft);
}

.devo-aarti-title {
  flex: 1;
  font-size: 15.5px;
  font-weight: 600;
  color: var(--text-dark);
}

.devo-aarti-arrow {
  color: var(--primary-orange);
  font-size: 13px;
}

/* DETAIL LYRICS PAGE */
.devo-detail-wrapper {
  max-width: 760px;
  margin: 0 auto;
  padding: 32px 22px 60px;
}

.devo-detail-wrapper.devo-has-player {
  padding-bottom: 140px;
}

.devo-lyrics {
  font-size: 16.5px;
  line-height: 2.1;
  color: var(--text-dark);
  text-align: center;
}

.devo-chalisa-lyrics {
  text-align: left;
}

.devo-chalisa-heading {
  font-size: 15px;
  font-weight: 700;
  color: var(--primary-orange);
  text-transform: uppercase;
  letter-spacing: 0.6px;
  margin: 28px 0 12px;
}

.devo-chalisa-heading:first-child {
  margin-top: 0;
}

.devo-chalisa-text {
  font-size: 16.5px;
  line-height: 2.1;
  color: var(--text-dark);
}

/* STICKY AUDIO PLAYER */
.devo-audio-player {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1500;
  background: var(--bg-white);
  border-top: 1px solid var(--border-color);
  box-shadow: 0 -8px 20px rgba(0, 0, 0, 0.06);
  padding: 14px 24px;
}

.devo-audio-top {
  max-width: 760px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 16px;
}

.devo-audio-nav-btn {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid var(--border-color);
  background: var(--bg-cream);
  color: var(--text-dark);
  transition: all var(--transition-fast);
}

.devo-audio-nav-btn:hover:not(:disabled) {
  border-color: var(--primary-orange);
  color: var(--primary-orange);
}

.devo-audio-nav-btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.devo-audio-info {
  flex: 1;
  min-width: 0;
}

.devo-audio-title {
  display: block;
  font-size: 13.5px;
  font-weight: 700;
  color: var(--text-dark);
  margin-bottom: 6px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.devo-audio-progress {
  display: flex;
  align-items: center;
  gap: 10px;
}

.devo-audio-time {
  font-size: 11.5px;
  color: var(--text-muted);
  flex-shrink: 0;
  min-width: 34px;
}

.devo-audio-time:last-child {
  text-align: right;
}

.devo-audio-range {
  flex: 1;
  height: 4px;
  accent-color: var(--primary-orange);
  cursor: pointer;
}

.devo-audio-play-btn {
  flex-shrink: 0;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  border: none;
  background: var(--primary-orange);
  color: #ffffff;
  font-size: 16px;
  box-shadow: 0 4px 12px rgba(255, 112, 26, 0.35);
  transition: all var(--transition-fast);
}

.devo-audio-play-btn:hover:not(:disabled) {
  background: var(--primary-orange-hover);
  transform: scale(1.05);
}

.devo-audio-play-btn:disabled {
  background: var(--text-muted);
  box-shadow: none;
  cursor: not-allowed;
}

.devo-audio-unavailable .devo-audio-title::after {
  content: ' · Audio coming soon';
  font-weight: 500;
  color: var(--text-muted);
}

/* Give a dedicated audio player the full bottom edge -- avoid stacking
   with the site's floating call/WhatsApp bar underneath it. */
body:has(.devo-audio-player) .float-cta-container,
body:has(.devo-audio-player) .side-book-btn {
  display: none;
}

/* GENERIC EMPTY STATE (reused across devotional pages) */
.devo-empty-state {
  background: var(--card-bg);
  border: 1px dashed var(--border-color);
  border-radius: var(--card-radius);
  padding: 50px 24px;
  text-align: center;
}

.devo-empty-state i {
  font-size: 30px;
  color: var(--text-muted);
  margin-bottom: 14px;
}

.devo-empty-img {
  display: block;
  width: 100%;
  max-width: 220px;
  height: auto;
  margin: 0 auto 14px;
}

.devo-empty-state p {
  font-size: 15px;
  font-weight: 600;
  color: var(--text-dark);
  margin-bottom: 6px;
}

.devo-empty-state span {
  font-size: 13px;
  color: var(--text-muted);
}

.devo-empty-state-inline {
  padding: 34px 22px;
}

/* ==========================================
   RESPONSIVE — DEVOTIONAL PAGES
   ========================================== */
@media (max-width: 992px) {
  .devo-bhajan-layout {
    flex-direction: column;
  }

  .devo-cat-sidebar {
    position: static;
    width: 100%;
    flex-direction: row;
    overflow-x: auto;
    padding-bottom: 6px;
  }

  .devo-book-detail-card {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 768px) {
  .devo-page-wrapper {
    padding: 22px 14px 48px;
  }

  .devo-samagri-row {
    grid-template-columns: 46px 1fr auto;
    padding: 14px 16px;
    gap: 12px;
  }

  .devo-song-card {
    padding: 18px;
  }

  .devo-book-card {
    padding: 14px 16px;
    gap: 14px;
  }

  .devo-book-cover {
    width: 54px;
    height: 72px;
    font-size: 18px;
  }

  .devo-detail-wrapper {
    padding: 24px 16px 48px;
  }

  .devo-lyrics,
  .devo-chalisa-text {
    font-size: 15px;
    line-height: 1.95;
  }

  .devo-audio-player {
    padding: 12px 16px;
  }

  .devo-audio-nav-btn {
    display: none;
  }

  .devo-audio-unavailable .devo-audio-title::after {
    content: '';
  }
}

@media (max-width: 480px) {
  .devo-cat-card {
    min-width: 148px;
    padding: 8px 14px 8px 8px;
  }

  .devo-cat-thumb {
    width: 38px;
    height: 38px;
    font-size: 15px;
  }

  .devo-samagri-name {
    font-size: 13.5px;
  }

  .devo-samagri-qty {
    font-size: 12.5px;
  }

  .devo-song-title {
    font-size: 14px;
  }

  .devo-audio-play-btn {
    width: 40px;
    height: 40px;
    font-size: 14px;
  }
}

/* PRINT — Puja Samagri "Pdf" button prints only the item list */
@media print {
  .site-header,
  .mobile-overlay,
  .mobile-sidebar,
  .sb-hero,
  .devo-cat-slider,
  .devo-samagri-actions,
  .ftr1,
  .side-book-btn,
  .float-cta-container {
    display: none !important;
  }

  .devo-page-wrapper {
    padding-top: 20px;
  }
}


 /* Scoped Section Styles */
  .testimonial-curved-section {
    width: 100%;
    padding: 40px 0 80px;
    display: flex;
    background: var(--bg-white);
    flex-direction: column;
    align-items: center;
    overflow: hidden;
    position: relative;
    box-sizing: border-box;
  }

  .testimonial-curved-section * {
    box-sizing: border-box;
  }

  .testimonial-curved-section .tcs-header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 30px;
  }

  .testimonial-curved-section .tcs-title {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--text-dark);
    letter-spacing: -0.01em;
  }

  .testimonial-curved-section .tcs-badge {
    width: 24px;
    height: 24px;
    background-color: var(--primary-orange);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .testimonial-curved-section .tcs-badge-dot {
    width: 8px;
    height: 8px;
    background-color: var(--bg-white);
    border-radius: 50%;
  }

  /* 3D Curved Perspective Container */
  .testimonial-curved-section .tcs-viewport {
    width: 100%;
    max-width: 100%;
    height: 560px; /* Increased to accommodate taller cards */
    perspective: 1000px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    touch-action: pan-y;
  }

  .testimonial-curved-section .tcs-track {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 100%;
    height: 100%;
    transform-style: preserve-3d;
  }

  /* Increased Height & Width for Cards */
  .testimonial-curved-section .tcs-card {
    position: absolute;
    width: 270px; /* Increased from 210px */
    height: 420px; /* Increased from 330px */
    border-radius: 28px;
    overflow: hidden;
    background: #000;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.18);
    transition: transform var(--transition-smooth), opacity var(--transition-smooth);
    cursor: pointer;
    user-select: none;
    will-change: transform, opacity;
  }

  .testimonial-curved-section .tcs-card video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    pointer-events: none;
  }

  /* Text Info Below Video Cards */
  .testimonial-curved-section .tcs-info {
    position: absolute;
    bottom: -65px;
    left: 0;
    width: 100%;
    text-align: center;
    pointer-events: none;
    transition: opacity var(--transition-smooth);
  }

  .testimonial-curved-section .tcs-number {
    display: block;
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--text-dark);
    margin-bottom: 2px;
  }

  .testimonial-curved-section .tcs-label {
    font-size: 0.9rem;
    font-weight: 500;
    color: var(--text-muted);
  }

  /* Responsive Rules */
  @media (max-width: 1200px) {
    .testimonial-curved-section .tcs-viewport {
      height: 480px;
    }
    .testimonial-curved-section .tcs-card {
      width: 220px;
      height: 350px;
    }
  }

  @media (max-width: 640px) {
    .testimonial-curved-section .tcs-viewport {
      height: 380px;
    }
    .testimonial-curved-section .tcs-card {
      width: 160px;
      height: 260px;
      border-radius: 18px;
    }
  }


   .temple-showcase-section {
    width: 100%;
    padding: 70px 0;
    background-color: var(--bg-white);
    display: flex;
    flex-direction: column;
    align-items: center;
    box-sizing: border-box;
    overflow: hidden;
  }

  .temple-showcase-section * {
    box-sizing: border-box;
  }

  /* Header */
  .temple-showcase-section .tss-header {
    text-align: center;
    margin-bottom: 40px;
    padding: 0 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .temple-showcase-section .tss-tagline {
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--primary-orange);
    letter-spacing: 2px;
    margin-bottom: 6px;
    text-transform: uppercase;
  }

  .temple-showcase-section .tss-title {
    color: var(--title-color);
    font-size: 2.2rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    margin: 0 0 12px;
  }

  .temple-showcase-section .tss-title-divider {
    width: 50px;
    height: 4px;
    background-color: var(--primary-orange);
    border-radius: 2px;
  }

  /* Slider Container & Track */
  .temple-showcase-section .tss-slider-container {
    width: 100%;
    max-width: 1320px;
    padding: 10px 20px 30px;
    overflow: hidden;
    position: relative;
    touch-action: pan-y;
  }

  .temple-showcase-section .tss-slider-track {
    display: flex;
    gap: 20px;
    transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
    will-change: transform;
  }

  /* Static wrapping grid (used on the "all mandirs" listing page,
     as opposed to the homepage's horizontally-scrolling carousel track) */
  .temple-showcase-section .tss-grid {
    width: 100%;
    max-width: 1320px;
    padding: 10px 20px 30px;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 20px;
  }

  .temple-showcase-section .tss-grid .tss-card {
    flex: none;
    min-width: 0;
  }

  /* 4 Cards Per Row Calculation */
  .temple-showcase-section .tss-card {
    flex: 0 0 calc((100% - (3 * 20px)) / 4);
    min-width: calc((100% - (3 * 20px)) / 4);
    background-color: var(--card-bg);
    border-radius: var(--card-radius);
    overflow: hidden;
    text-decoration: none;
    display: flex;
    flex-direction: column;
    position: relative;
    border: 1px solid rgba(0, 0, 0, 0.05);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.05);
    transition: transform var(--transition-smooth), box-shadow var(--transition-smooth), border-color var(--transition-fast);
  }

  .temple-showcase-section .tss-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 16px 35px rgba(255, 112, 26, 0.15), 0 8px 20px rgba(0, 0, 0, 0.06);
    border-color: rgba(255, 112, 26, 0.3);
  }

  /* Image Container */
  .temple-showcase-section .tss-image-wrapper {
    position: relative;
    width: 100%;
    height: 280px;
    overflow: hidden;
    background-color: #1a1a1a;
  }

  .temple-showcase-section .tss-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
  }

  .temple-showcase-section .tss-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,0) 40%, rgba(0,0,0,0.65) 100%);
    opacity: 0.6;
    transition: opacity var(--transition-fast);
  }

  .temple-showcase-section .tss-card:hover .tss-img {
    transform: scale(1.08);
  }

  .temple-showcase-section .tss-card:hover .tss-overlay {
    opacity: 0.8;
  }

  /* Glassmorphism Badge */
  .temple-showcase-section .tss-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    background: rgba(255, 255, 255, 0.88);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    color: var(--text-dark);
    font-size: 0.7rem;
    font-weight: 700;
    padding: 5px 12px;
    border-radius: 20px;
    display: flex;
    align-items: center;
    gap: 6px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    z-index: 2;
  }

  .temple-showcase-section .tss-badge-pulse {
    width: 6px;
    height: 6px;
    background-color: var(--primary-orange);
    border-radius: 50%;
    box-shadow: 0 0 0 0 rgba(255, 112, 26, 0.7);
    animation: tssPulse 1.8s infinite;
  }

  @keyframes tssPulse {
    0% { box-shadow: 0 0 0 0 rgba(255, 112, 26, 0.7); }
    70% { box-shadow: 0 0 0 6px rgba(255, 112, 26, 0); }
    100% { box-shadow: 0 0 0 0 rgba(255, 112, 26, 0); }
  }

  /* Floating Action Button */
  .temple-showcase-section .tss-action-btn {
    position: absolute;
    bottom: 12px;
    right: 12px;
    background-color: var(--primary-orange);
    color: var(--bg-white);
    padding: 6px 14px;
    border-radius: 18px;
    font-size: 0.75rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 5px;
    box-shadow: 0 4px 12px rgba(255, 112, 26, 0.35);
    transform: translateY(4px);
    opacity: 0.9;
    transition: transform var(--transition-smooth), background-color var(--transition-fast), opacity var(--transition-fast);
    z-index: 2;
  }

  .temple-showcase-section .tss-arrow {
    width: 12px;
    height: 12px;
    transition: transform var(--transition-fast);
  }

  .temple-showcase-section .tss-card:hover .tss-action-btn {
    transform: translateY(0);
    opacity: 1;
    background-color: var(--primary-orange-hover);
  }

  .temple-showcase-section .tss-card:hover .tss-arrow {
    transform: translateX(3px);
  }

  /* Content */
  .temple-showcase-section .tss-content {
    padding: 18px 18px 20px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    background-color: var(--card-bg);
  }

  .temple-showcase-section .tss-card-title {
    color: var(--text-dark);
    font-size: 1.1rem;
    font-weight: 700;
    margin: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: color var(--transition-fast);
  }

  .temple-showcase-section .tss-card:hover .tss-card-title {
    color: var(--primary-orange);
  }

  .temple-showcase-section .tss-location {
    color: var(--text-muted);
    font-size: 0.85rem;
    display: flex;
    align-items: center;
    gap: 5px;
    margin: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .temple-showcase-section .tss-pin-icon {
    width: 14px;
    height: 14px;
    color: var(--primary-orange);
    flex-shrink: 0;
  }

  /* Responsive Adjustments */
  @media (max-width: 1024px) {
    .temple-showcase-section .tss-card {
      flex: 0 0 calc((100% - (2 * 16px)) / 3);
      min-width: calc((100% - (2 * 16px)) / 3);
    }
  }

  @media (max-width: 768px) {
    .temple-showcase-section .tss-card {
      flex: 0 0 calc((100% - 16px) / 2);
      min-width: calc((100% - 16px) / 2);
    }
  }

  @media (max-width: 480px) {
    .temple-showcase-section .tss-card {
      flex: 0 0 100%;
      min-width: 100%;
    }
  }

  /* ==========================================
     TOAST NOTIFICATIONS
     ========================================== */
  .toast-stack {
    position: fixed;
    top: 24px;
    right: 24px;
    z-index: 10000;
    display: flex;
    flex-direction: column;
    gap: 12px;
    max-width: min(360px, calc(100vw - 32px));
    pointer-events: none;
  }

  .toast-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 16px 18px;
    background: var(--bg-white, #fff);
    border-radius: 14px;
    box-shadow: var(--shadow-lg, 0 15px 35px -5px rgba(0, 0, 0, 0.25));
    border-left: 4px solid var(--primary-orange);
    pointer-events: auto;
    opacity: 0;
    transform: translateX(120%);
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s ease;
  }

  .toast-item.toast-show {
    opacity: 1;
    transform: translateX(0);
  }

  .toast-item.toast-hide {
    opacity: 0;
    transform: translateX(120%);
  }

  .toast-item.toast-success {
    border-left-color: #16a34a;
  }

  .toast-item.toast-error {
    border-left-color: #dc2626;
  }

  .toast-icon {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    color: #fff;
    background: var(--primary-orange);
    margin-top: 1px;
  }

  .toast-success .toast-icon {
    background: #16a34a;
  }

  .toast-error .toast-icon {
    background: #dc2626;
  }

  .toast-body {
    flex: 1;
    min-width: 0;
  }

  .toast-title {
    font-size: 14px;
    font-weight: 700;
    color: var(--text-dark, #1f2937);
    margin: 0 0 2px;
  }

  .toast-message {
    font-size: 13px;
    color: var(--text-muted, #6b7280);
    margin: 0;
    line-height: 1.45;
  }

  .toast-close {
    flex-shrink: 0;
    background: none;
    border: none;
    color: var(--text-muted, #6b7280);
    font-size: 16px;
    line-height: 1;
    cursor: pointer;
    padding: 2px;
    border-radius: 6px;
    transition: color var(--transition-fast, 0.2s ease), background-color var(--transition-fast, 0.2s ease);
  }

  .toast-close:hover {
    color: var(--text-dark, #1f2937);
    background-color: rgba(0, 0, 0, 0.05);
  }

  @media (max-width: 480px) {
    .toast-stack {
      top: 12px;
      right: 12px;
      left: 12px;
      max-width: none;
    }
  }