/*
 * Nur Labs — Custom Styles
 * Overrides for the Sasico SaaS template
 */

/* ===== HTML/Body Root Background Per Theme ===== */
/* Safari uses body background-color for status bar tinting (via fixed header fallback) */
html, body.main-home {
    background-color: #F4FAF7 !important;
}
html:has(body.app-dark), body.app-dark {
    background-color: #000 !important;
}
html:has(body.app-dhikrflow), body.app-dhikrflow {
    background-color: #FFF9F5 !important;
}
html:has(body.app-prayerbar), body.app-prayerbar {
    background-color: #F7FDF9 !important;
}
html:has(body.app-wird), body.app-wird {
    background-color: #F5F0E6 !important;
}

/* ===== Global List Reset ===== */
/* Prevent browser-default bullet markers from leaking through on nav/icon lists */
.header-main ul,
.mobile-menu ul,
.hero-app-icons,
.footer-links,
.footer-app-links {
    list-style: none;
    padding-left: 0;
    margin: 0;
}

/* ===== Color Overrides ===== */
:root {
    --theme-color: #2D9F6F;
    --theme-color2: #E8F5EE;
    --border-color2: #E8F5EE;
    --nur-green: #2D9F6F;
    --nur-green-light: #34C759;
    --nur-dark: #0A1A12;
    --nur-warm: #FAF8F4;

    /* Elevation tokens — layered near-shadow + ambient shadow.
       Tiers scale with surface size (sm icon → lg icon → card → featured). */
    --shadow-icon-sm:     0 1px 2px rgba(0, 0, 0, 0.05), 0 8px 20px rgba(0, 0, 0, 0.10);
    --shadow-icon-md:     0 2px 4px rgba(0, 0, 0, 0.05), 0 16px 32px rgba(0, 0, 0, 0.14);
    --shadow-icon-md-up:  0 4px 8px rgba(0, 0, 0, 0.08), 0 24px 48px rgba(0, 0, 0, 0.20);
    --shadow-icon-lg:     0 4px 8px rgba(0, 0, 0, 0.15), 0 24px 56px rgba(0, 0, 0, 0.35);
    --shadow-card:        0 1px 3px rgba(0, 0, 0, 0.04), 0 12px 32px rgba(0, 0, 0, 0.05);
    --shadow-card-up:     0 4px 8px rgba(0, 0, 0, 0.06), 0 30px 70px rgba(45, 159, 111, 0.14);
    --shadow-featured:    0 2px 6px rgba(0, 0, 0, 0.04), 0 24px 60px rgba(0, 0, 0, 0.08);
    --shadow-featured-up: 0 4px 10px rgba(0, 0, 0, 0.06), 0 40px 100px rgba(45, 159, 111, 0.16);
}

/* ===== Progressive Enhancement — Show content when JS fails ===== */
/* AOS (Animate On Scroll) hides elements until JS runs animations.
   When JS doesn't load, elements stay invisible. This fallback ensures
   all content is visible in no-js contexts. */
html.no-js [data-aos] {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
}
html.no-js #preloader {
    display: none !important;
}

/* ===== Homepage Spacing — Tighten hero-to-apps gap ===== */
@media (min-width: 993px) {
    body.main-home:not([class*="app-"]) .main-sec.space-md-bottom {
        padding-bottom: 60px;
    }
    body.main-home:not([class*="app-"]) #apps.space {
        padding-top: 80px;
    }
}

/* ===== Main Section Background ===== */
.main-sec::before {
    background-image: none;
    background:
        radial-gradient(ellipse at 40% 30%, rgba(45, 159, 111, 0.15) 0%, rgba(45, 159, 111, 0.06) 35%, transparent 65%),
        radial-gradient(ellipse at 70% 60%, rgba(45, 159, 111, 0.08) 0%, transparent 50%);
    width: 100%;
    height: 100%;
}

/* ===== Section Background Overrides ===== */
.feature-sec2 {
    background-image: none;
    background-color: #F4FAF7;
}
.feature-sec2 .sec-title .sub-title,
.feature-sec2 .sec-title.white .sub-title {
    background-color: var(--theme-color2);
    color: var(--nur-green);
}
.feature-sec2 .sec-title .title,
.feature-sec2 .sec-title.white .title {
    color: var(--title-color);
}
.feature-sec2 .feature-block2 {
    background-color: var(--white-color);
    border: 1px solid #E5EDE9 !important;
    border-style: solid !important;
}
.feature-block2::before {
    display: none !important;
}
.feature-sec2 .row {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 0 !important;
    /* row-gap removed — col padding-bottom in the mobile media query
       handles vertical spacing uniformly with .choose-block sections */
}
.feature-sec2 .row > [class*="col-"] {
    display: flex;
}
.feature-sec2 .row > [class*="col-"] > div {
    width: 100%;
    display: flex;
}
.feature-block2 {
    width: 100%;
}
.choose-block {
    height: 100%;
}
.choose-us-sec .row > [class*="col-"],
.choose-info .row > [class*="col-"] {
    display: flex;
}
.choose-us-sec .row > [class*="col-"] > div,
.choose-info .row > [class*="col-"] > div {
    width: 100%;
}
.feature-block2:hover {
    border-color: var(--nur-green) !important;
    border-style: solid !important;
}
.feature-block2 .feature-icon {
    background: linear-gradient(180deg, #E8F5EE 0%, rgba(232, 245, 238, 0) 100%) !important;
}
.feature-block2 .feature-icon::before {
    background: linear-gradient(180deg, #E8F5EE 0%, rgba(232, 245, 238, 0) 100%) !important;
}
.feature-block2 .feature-icon::after {
    background: linear-gradient(180deg, #C5E8D4 0%, rgba(197, 232, 212, 0) 100%) !important;
}
.feature-sec2 .feature-block2 .title a {
    color: var(--title-color);
}
.feature-sec2 .feature-block2 p {
    color: var(--body-color);
}
.choose-us-sec {
    background-color: #F4FAF7;
}
.choose-info {
    background-image: none;
    background-color: transparent;
    border: none;
    padding: 80px 0 0;
}
.choose-us-sec .row {
    margin-bottom: 0;
}
.choose-info .sec-title .sub-title,
.choose-info .sec-title.white .sub-title {
    background-color: var(--theme-color2);
    color: var(--nur-green);
}
.choose-info .sec-title .title,
.choose-info .sec-title.white .title {
    color: var(--title-color);
}
.choose-block {
    border-color: #E5EDE9;
}
.choose-block .title {
    color: var(--title-color);
}
.choose-block:hover {
    background-color: #F4FAF7 !important;
    border-color: var(--nur-green) !important;
}
.choose-block:hover .title,
.choose-block:hover p {
    color: var(--title-color) !important;
}
.choose-block:hover .choose-icon {
    background: linear-gradient(180deg, #C5E8D4 0%, rgba(197, 232, 212, 0) 100%) !important;
}
.cta-banner .cta-info {
    background-image: none;
    background-color: #F4FAF7;
    border: 1px solid #E5EDE9;
}
.cta-content {
    position: relative;
    z-index: 2;
}
.cta-content a {
    pointer-events: auto !important;
    position: relative;
    z-index: 3;
}
.choose-block .choose-icon {
    background: linear-gradient(180deg, #E8F5EE 0%, rgba(232, 245, 238, 0) 100%) !important;
}
.choose-block .choose-icon::before {
    background: linear-gradient(180deg, #E8F5EE 0%, rgba(232, 245, 238, 0) 100%) !important;
}
.choose-block .choose-icon::after {
    background: linear-gradient(180deg, #C5E8D4 0%, rgba(197, 232, 212, 0) 100%) !important;
}
/* ===== Brand Text (temp until logo) ===== */
.header-brand {
    font-family: var(--title-font);
    font-size: 24px;
    font-weight: 800;
    color: var(--title-color) !important;
    text-decoration: none;
    letter-spacing: -0.02em;
}
.app-header-brand {
    display: flex !important;
    align-items: center;
    gap: 10px;
    text-decoration: none;
}
.app-header-brand .app-header-icon {
    width: 32px;
    height: 32px;
    border-radius: 8px;
}
.app-header-brand span {
    font-family: var(--title-font);
    font-size: 20px;
    font-weight: 700;
    color: var(--title-color);
    letter-spacing: -0.01em;
}
.footer-brand {
    font-family: var(--title-font);
    font-size: 22px;
    font-weight: 800;
    color: var(--title-color);
    letter-spacing: -0.02em;
}

.app-footer-brand {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px !important;
}
.app-footer-brand .app-header-icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
}
.footer-app-links a {
    display: flex !important;
    align-items: center;
    gap: 8px;
}
.footer-app-icon {
    width: 22px;
    height: 22px;
    border-radius: 5px;
}

/* ===== Footer ===== */
.footer-style1 .widget-area {
    padding: 80px 0 30px;
}
.footer-style1 .about-widget p {
    max-width: 320px;
    font-size: 14px;
    line-height: 1.6;
}
.footer-style1 .footer-links li {
    margin-bottom: 12px;
}
.footer-style1 .link-title {
    margin-bottom: 24px;
}
.app-footer-brand .footer-brand {
    font-size: 20px;
}
.footer-style1::before {
    background-image: none !important;
    background: linear-gradient(180deg, transparent 0%, #F4FAF7 100%) !important;
    height: 200px !important;
    bottom: auto !important;
    top: -200px !important;
    pointer-events: none;
}
.footer-style1 .footer-content {
    display: none;
}
.footer-style1 .widget-area {
    background-color: #F9FDFB;
    padding-top: 80px;
}
.footer-style1 .footer-box {
    background-color: #F9FDFB;
    border-top: 1px solid #E5EDE9;
}
.footer-style1 .link-title {
    color: var(--title-color);
}
.footer-style1 .footer-links a {
    color: var(--body-color);
}
.footer-style1 .footer-links a:hover {
    color: var(--nur-green);
}

/* ===== Preloader App Icon ===== */
#preloader .loader {
    display: flex;
    align-items: center;
    justify-content: center;
}
#preloader img,
#preloader .loader-icon {
    -webkit-filter: none !important;
    filter: none !important;
    -webkit-animation: pulse-loader 1.5s ease-in-out infinite !important;
    animation: pulse-loader 1.5s ease-in-out infinite !important;
    width: 56px !important;
    height: 56px !important;
    max-width: 56px !important;
    max-height: 56px !important;
    border-radius: 12px;
}
@keyframes pulse-loader {
    0%, 100% { opacity: 0.6; transform: scale(1); }
    50% { opacity: 1; transform: scale(1.05); }
}
@media (max-width: 768px) {
    #preloader .loader-icon {
        width: 48px;
        height: 48px;
    }
    /* Hide header on mobile for app pages */
    .app-dark .header-main,
    .app-dhikrflow .header-main,
    .app-prayerbar .header-main {
        display: none !important;
    }
    /* Reduce hero icon on mobile */
    .app-hero-icon .app-icon-img {
        width: 80px !important;
        height: 80px !important;
    }
    /* Mobile: add top spacing for app pages */
    .app-dark .hero-content,
    .app-dhikrflow .hero-content,
    .app-prayerbar .hero-content {
        padding-top: 40px;
    }
    /* Mobile: fade gradient from flat color so top matches Safari status bar tint */
    .main-sec::before {
        mask-image: linear-gradient(to bottom, transparent 0px, black 80px) !important;
        -webkit-mask-image: linear-gradient(to bottom, transparent 0px, black 80px) !important;
    }
}
.app-dark #preloader {
    background: #000 !important;
}
.app-dhikrflow #preloader {
    background: #FFF9F5 !important;
}
.app-prayerbar #preloader {
    background: #F7FDF9 !important;
}

/* ===== Phosphor Icons in Feature Cards ===== */
.feature-block2 .ph-icon {
    font-size: 28px;
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    margin-bottom: 20px;
}
.feature-block2 .feature-icon {
    display: none !important;
}
.choose-block .ph-icon {
    font-size: 24px;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    margin: 0 auto 16px;
}
.choose-block .choose-icon {
    display: none !important;
}

/* Light theme icon colors */
.app-prayerbar .ph-icon,
.app-dhikrflow .ph-icon,
.app-wird .ph-icon {
    background: linear-gradient(180deg, var(--theme-color2) 0%, rgba(255,255,255,0) 100%);
    color: var(--theme-color);
}

/* Dark theme icon colors */
.app-dark .ph-icon {
    background: rgba(45, 159, 111, 0.12);
    color: var(--nur-green);
}

/* Homepage icon colors */
.main-home:not(.app-dark):not(.app-dhikrflow):not(.app-prayerbar):not(.app-wird) .ph-icon {
    background: linear-gradient(180deg, #E8F5EE 0%, rgba(232, 245, 238, 0) 100%);
    color: var(--nur-green);
}

/* ===== Disable AOS — use micro interactions instead ===== */
[data-aos] {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
}

/* ===== Micro Interactions ===== */
.feature-block2 {
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.feature-block2:hover {
    transform: translateY(-6px) !important;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.08) !important;
}
.choose-block {
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.choose-block:hover {
    transform: translateY(-4px) !important;
}
.btn-style1 {
    transition: transform 0.2s ease, background-color 0.2s ease !important;
}
.btn-style1:hover {
    transform: scale(1.03);
}
.btn-style1:active {
    transform: scale(0.97);
}
.app-store-link {
    transition: transform 0.2s ease;
}
.app-store-link:hover {
    transform: scale(1.05);
}
.app-store-link:active {
    transform: scale(0.96);
}
.ph-icon {
    transition: transform 0.3s ease;
}
.feature-block2:hover .ph-icon {
    transform: scale(1.1) rotate(-3deg);
}
.hero-app-icons a:hover img {
    transform: scale(1.12);
}
.hero-app-icons a:active img {
    transform: scale(0.95);
}
.hero-app-icons img {
    transition: transform 0.2s ease;
}
.footer-app-links a {
    transition: transform 0.2s ease;
}
.footer-app-links a:hover {
    transform: translateX(4px);
}
.footer-links a {
    transition: color 0.2s ease;
}
.app-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.app-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.1);
}
.app-header-brand,
.app-footer-brand {
    transition: opacity 0.2s ease;
}
.app-header-brand:hover,
.app-footer-brand:hover {
    opacity: 0.8;
}
.accordion-button {
    transition: padding-left 0.2s ease !important;
}
.accordion-button:hover {
    padding-left: 28px !important;
}

/* ===== Global Theme Color Override ===== */
.btn-style1 {
    background-color: var(--nur-green) !important;
    color: #fff !important;
}
.btn-style1 span {
    background-color: #247A57 !important;
}
.btn-style1 span img {
    filter: brightness(0) invert(1) !important;
}
.btn-style1:hover {
    background-color: #247A57 !important;
}
.sub-title,
.sec-title .sub-title,
.sec-title.white .sub-title {
    background-color: var(--theme-color2) !important;
    color: var(--nur-green) !important;
    border-color: #D0E8DB !important;
}
.accordion-item.active .accordion-button .arrow-btn {
    background-color: var(--nur-green) !important;
}
.accordion-item.active .accordion-button .arrow-btn img {
    filter: brightness(0) invert(1) !important;
}
.accordion-item.active {
    border-color: var(--nur-green) !important;
}
.accordion-item.active .accordion-button .arrow-btn {
    background-color: var(--nur-green) !important;
}
.faq-box::before,
.faq-box::after {
    background: transparent !important;
}
.faq-box .vs-accordion .accordion-item::before {
    display: none !important;
}

/* ===== Hero ===== */
.hero-sec .hero-content .title {
    max-width: 100%;
    letter-spacing: -0.02em;
    margin-left: auto;
    margin-right: auto;
}
.hero-sec .hero-content p {
    max-width: 520px;
    font-size: 17px;
    line-height: 1.7;
    margin-left: auto;
    margin-right: auto;
}
.hero-btns {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    justify-content: center;
}
.hero-app-icons {
    display: flex;
    gap: 20px;
    justify-content: center;
    margin-top: 8px;
}
.hero-app-icons a {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    transition: transform 0.2s ease;
}
.hero-app-icons a:hover {
    transform: translateY(-4px);
}
.hero-app-icons a:hover img {
    box-shadow: var(--shadow-icon-md);
}
.hero-app-icons a span {
    font-family: var(--title-font);
    font-size: 13px;
    font-weight: 600;
    color: var(--title-color);
}
.hero-app-icons img {
    width: 56px;
    height: 56px;
    border-radius: 14px;
    box-shadow: var(--shadow-icon-sm);
    transition: box-shadow 0.3s ease;
}

/* ===== Hero App Cluster (floating arrangement) ===== */
.hero-app-cluster {
    position: relative;
    width: 100%;
    max-width: 540px;
    height: 340px;
    margin: 24px auto 0;
    perspective: 1200px;
    perspective-origin: 50% 40%;
}
.hero-app-cluster::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 380px;
    height: 240px;
    transform: translate(-50%, -50%);
    background: radial-gradient(ellipse at center, rgba(45, 159, 111, 0.12) 0%, rgba(45, 159, 111, 0) 70%);
    pointer-events: none;
    z-index: 0;
    filter: blur(8px);
}
.cluster-app {
    position: absolute;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    z-index: 1;
    transition: transform 0.4s cubic-bezier(0.2, 0.8, 0.2, 1);
    will-change: transform;
    transform-style: preserve-3d;
}
/* Ground/contact shadow — sits below each icon as an elliptical "puddle" */
.cluster-app::after {
    content: '';
    position: absolute;
    left: 50%;
    bottom: -6px;
    width: 56px;
    height: 10px;
    background: radial-gradient(ellipse at center, rgba(15, 23, 42, 0.28) 0%, rgba(15, 23, 42, 0) 70%);
    transform: translateX(-50%);
    pointer-events: none;
    filter: blur(2px);
    transition: opacity 0.4s ease, transform 0.4s ease;
    z-index: -1;
}
.cluster-app img {
    width: 68px;
    height: 68px;
    border-radius: 16px;
    box-shadow:
        0 1px 2px rgba(15, 23, 42, 0.10),
        0 8px 16px rgba(15, 23, 42, 0.14),
        0 24px 40px rgba(15, 23, 42, 0.18);
    transition: box-shadow 0.3s ease, transform 0.4s cubic-bezier(0.2, 0.8, 0.2, 1);
    display: block;
}
.cluster-app span {
    font-family: var(--title-font);
    font-size: 12px;
    font-weight: 600;
    color: var(--title-color);
    opacity: 0.7;
    transition: opacity 0.3s ease;
}
.cluster-app:hover {
    z-index: 5;
}
.cluster-app:hover img {
    box-shadow:
        0 2px 4px rgba(15, 23, 42, 0.12),
        0 12px 24px rgba(15, 23, 42, 0.18),
        0 32px 56px rgba(15, 23, 42, 0.22);
    transform: translateY(-8px) scale(1.06);
}
.cluster-app:hover::after {
    opacity: 0.6;
    transform: translateX(-50%) scale(1.2);
}
.cluster-app:hover span {
    opacity: 1;
}

/* Featured: Wird, centered + larger + closer to viewer */
.cluster-app--featured {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) translateZ(40px);
    animation: cluster-float-1 6.5s ease-in-out infinite;
    z-index: 3;
}
.cluster-app--featured img {
    width: 104px;
    height: 104px;
    border-radius: 24px;
    box-shadow:
        0 2px 4px rgba(15, 23, 42, 0.10),
        0 16px 32px rgba(15, 23, 42, 0.18),
        0 40px 72px rgba(15, 23, 42, 0.24);
}
.cluster-app--featured::after {
    width: 88px;
    height: 14px;
    bottom: -10px;
    background: radial-gradient(ellipse at center, rgba(15, 23, 42, 0.32) 0%, rgba(15, 23, 42, 0) 70%);
    filter: blur(3px);
}
.cluster-app--featured span {
    font-size: 14px;
    opacity: 1;
    margin-top: 4px;
}

/* Satellites — positioned around the featured, tilted toward center for depth */
.cluster-app--nur {
    top: 6%;
    left: 12%;
    transform: rotateZ(-8deg) rotateY(14deg) translateZ(-10px);
    animation: cluster-float-2 7s ease-in-out infinite 0.4s;
}
.cluster-app--dhikrflow {
    top: 2%;
    right: 12%;
    transform: rotateZ(6deg) rotateY(-14deg) translateZ(-10px);
    animation: cluster-float-3 6s ease-in-out infinite 1.1s;
}
.cluster-app--radio {
    bottom: 6%;
    left: 16%;
    transform: rotateZ(9deg) rotateY(12deg) translateZ(-5px);
    animation: cluster-float-4 7.5s ease-in-out infinite 0.8s;
}
.cluster-app--prayerbar {
    bottom: 4%;
    right: 14%;
    transform: rotateZ(-7deg) rotateY(-12deg) translateZ(-5px);
    animation: cluster-float-5 6.8s ease-in-out infinite 1.5s;
}

@keyframes cluster-float-1 {
    0%, 100% { transform: translate(-50%, -50%) translateZ(40px); }
    50%      { transform: translate(-50%, calc(-50% - 8px)) translateZ(40px); }
}
@keyframes cluster-float-2 {
    0%, 100% { transform: rotateZ(-8deg) rotateY(14deg) translateZ(-10px) translateY(0); }
    50%      { transform: rotateZ(-8deg) rotateY(14deg) translateZ(-10px) translateY(-7px); }
}
@keyframes cluster-float-3 {
    0%, 100% { transform: rotateZ(6deg) rotateY(-14deg) translateZ(-10px) translateY(0); }
    50%      { transform: rotateZ(6deg) rotateY(-14deg) translateZ(-10px) translateY(6px); }
}
@keyframes cluster-float-4 {
    0%, 100% { transform: rotateZ(9deg) rotateY(12deg) translateZ(-5px) translateY(0); }
    50%      { transform: rotateZ(9deg) rotateY(12deg) translateZ(-5px) translateY(-6px); }
}
@keyframes cluster-float-5 {
    0%, 100% { transform: rotateZ(-7deg) rotateY(-12deg) translateZ(-5px) translateY(0); }
    50%      { transform: rotateZ(-7deg) rotateY(-12deg) translateZ(-5px) translateY(7px); }
}

/* Tablet — slightly compressed */
@media (max-width: 991px) {
    .hero-app-cluster {
        max-width: 460px;
        height: 280px;
    }
    .cluster-app img { width: 56px; height: 56px; border-radius: 14px; }
    .cluster-app--featured img { width: 80px; height: 80px; border-radius: 20px; }
}

/* Mobile — stack into a clean 2-row grid, kill floats */
@media (max-width: 575px) {
    .hero-app-cluster {
        height: auto;
        max-width: 360px;
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 20px 16px;
        margin-top: 32px;
        padding: 0 8px;
    }
    .hero-app-cluster::before { display: none; }
    .cluster-app,
    .cluster-app--featured,
    .cluster-app--nur,
    .cluster-app--dhikrflow,
    .cluster-app--radio,
    .cluster-app--prayerbar {
        position: static;
        transform: none !important;
        animation: none !important;
    }
    .cluster-app--featured {
        grid-column: 2;
        grid-row: 1;
    }
    .cluster-app--nur { grid-column: 1; grid-row: 1; }
    .cluster-app--dhikrflow { grid-column: 3; grid-row: 1; }
    .cluster-app--radio { grid-column: 1 / 3; grid-row: 2; justify-self: end; }
    .cluster-app--prayerbar { grid-column: 2 / 4; grid-row: 2; justify-self: start; }
    .cluster-app img { width: 56px; height: 56px; border-radius: 14px; }
    .cluster-app--featured img { width: 64px; height: 64px; border-radius: 16px; }
    .cluster-app span { opacity: 1; }
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
    .cluster-app,
    .cluster-app--featured,
    .cluster-app--nur,
    .cluster-app--dhikrflow,
    .cluster-app--radio,
    .cluster-app--prayerbar {
        animation: none !important;
    }
}

/* =========================================================================
   APPS SECTION — Apps Section Redesign handoff
   Scoped under .apps-section so it can't collide with global classes
   (e.g. .app-store-link used by the App Store badge image elsewhere).
   ========================================================================= */
.apps-section {
    --apps-ink:   #16302a;
    --apps-ink-2: #3f5a52;
    --apps-ink-3: #6c8a80;
    --apps-rule:  #e6ede9;
    --apps-card:  #ffffff;
    --apps-green: #1f9e57;
    color: var(--apps-ink);
}

/* ---- Section header ---- */
.apps-section .apps-section__head {
    margin-bottom: 40px;
}
.apps-section .apps-section__kicker {
    font-size: 12px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--apps-green);
    font-weight: 600;
    margin: 0 0 12px;
}
.apps-section .apps-section__title {
    font-family: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
    font-size: clamp(30px, 3.5vw, 44px);
    line-height: 1.05;
    letter-spacing: -0.015em;
    font-weight: 600;
    color: var(--apps-ink);
    margin: 0;
    max-width: 720px;
}

/* ---- Grid: 2 large on top, 3 small on bottom ---- */
.apps-section .apps-grid {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.apps-section .apps-grid__row {
    display: grid;
    gap: 20px;
}
.apps-section .apps-grid__row--top    { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.apps-section .apps-grid__row--bottom { grid-template-columns: repeat(3, minmax(0, 1fr)); }

@media (max-width: 1080px) {
    .apps-section .apps-grid__row--bottom { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
    .apps-section .apps-grid__row--top,
    .apps-section .apps-grid__row--bottom { grid-template-columns: 1fr; }
    /* Stacked cards: soft drop shadows blur into the 20px gap and make
       cards look like they're touching. Increase vertical breathing room. */
    .apps-section .apps-grid { gap: 28px; }
    .apps-section .apps-grid__row { gap: 28px; }
}

/* ---- Card ---- */
.apps-section .app-card {
    position: relative;
    background: var(--apps-card);
    border-radius: 24px;
    padding: 28px;
    display: flex;
    flex-direction: column;
    min-height: 280px;
    overflow: hidden;
    box-shadow:
        0 1px 0 rgba(20, 40, 30, 0.04),
        0 24px 50px -28px rgba(20, 40, 30, 0.18);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
    text-align: left;
    border: none;
}
.apps-section .app-card:hover {
    transform: translateY(-3px);
    box-shadow:
        0 1px 0 rgba(20, 40, 30, 0.05),
        0 32px 60px -28px rgba(20, 40, 30, 0.22);
}
.apps-section .app-card--lg {
    padding: 36px;
    min-height: 340px;
}

/* Soft color wash at top of card — per-app tint */
.apps-section .app-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 160px;
    background: linear-gradient(180deg, var(--app-tint, transparent) 0%, transparent 100%);
    pointer-events: none;
}
.apps-section .app-card--lg::before { height: 200px; }

.apps-section .app-card__head {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 18px;
}
.apps-section .app-card--lg .app-card__head {
    gap: 20px;
    margin-bottom: 22px;
}

.apps-section .app-card__icon {
    width: 64px;
    height: 64px;
    flex: 0 0 auto;
    display: block;
    text-decoration: none;
    filter:
        drop-shadow(0 1px 1px rgba(20, 40, 30, 0.18))
        drop-shadow(0 6px 12px rgba(20, 40, 30, 0.14))
        drop-shadow(0 14px 22px var(--app-shadow, rgba(15, 160, 80, 0.18)));
    transition: transform 0.3s ease;
}
.apps-section .app-card__icon img {
    width: 100%;
    height: 100%;
    display: block;
    border-radius: 14px;
}
.apps-section .app-card:hover .app-card__icon {
    transform: translateY(-2px) scale(1.04);
}
.apps-section .app-card--lg .app-card__icon {
    width: 76px;
    height: 76px;
}
.apps-section .app-card--lg .app-card__icon img {
    border-radius: 17px;
}

.apps-section .app-card__title {
    font-family: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
    font-size: 22px;
    font-weight: 600;
    letter-spacing: -0.01em;
    line-height: 1.15;
    color: var(--apps-ink);
    margin: 2px 0 4px;
}
.apps-section .app-card__title a {
    color: inherit;
    text-decoration: none;
}
.apps-section .app-card--lg .app-card__title {
    font-size: 26px;
}

.apps-section .app-card__tagline {
    font-size: 12.5px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--app-accent, var(--apps-green));
    margin: 0;
}
.apps-section .app-card--lg .app-card__tagline {
    font-size: 13.5px;
}

.apps-section .app-card__desc {
    position: relative;
    font-size: 14px;
    line-height: 1.55;
    color: var(--apps-ink-2);
    margin: 0 0 auto;
}
.apps-section .app-card--lg .app-card__desc {
    font-size: 15.5px;
}

.apps-section .app-card__foot {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: 22px;
    padding-top: 18px;
    border-top: 1px solid var(--apps-rule);
}

/* ---- Platforms (version + glyph row) ---- */
.apps-section .platforms {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--apps-ink-3);
}
.apps-section .platforms__version {
    font-size: 11.5px;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--apps-green);
    margin-right: 6px;
}
.apps-section .platforms__icons {
    display: flex;
    align-items: center;
    gap: 8px;
}
.apps-section .platforms__icon {
    width: 18px;
    height: 18px;
    color: var(--apps-ink-3);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.apps-section .platforms__icon svg {
    width: 100%;
    height: 100%;
    display: block;
}

/* ---- App Store text link ("App Store →") — scoped to NOT clash
       with the global .app-store-link badge image style ---- */
.apps-section .app-store-link--text {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--app-accent, var(--apps-green));
    text-decoration: none;
    font-size: 13.5px;
    font-weight: 600;
    letter-spacing: 0.01em;
    padding: 6px 0;
    transition: gap 0.2s ease, color 0.2s ease;
    background: none;
}
.apps-section .app-store-link--text:hover {
    gap: 10px;
    opacity: 1;
}
.apps-section .app-store-link--text svg {
    width: 14px;
    height: 14px;
}
/* Neutralize the global .app-store-link image styles when used in apps-section */
.apps-section .app-store-link--text img {
    display: none;
}

/* ===== Featured App Card (Hero + 3 Grid) ===== */
.app-featured {
    display: flex;
    background: var(--white-color);
    border-radius: 20px;
    border: 1px solid rgba(0, 0, 0, 0.04);
    overflow: hidden;
    margin-bottom: 24px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    box-shadow: var(--shadow-featured);
}
.app-featured:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-featured-up);
}
.app-featured-visual {
    flex: 0 0 45%;
    background: #1a3a2a;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 320px;
    padding: 40px;
}
.app-featured-icon {
    width: 140px;
    height: 140px;
    border-radius: 30px;
    box-shadow: var(--shadow-icon-lg);
}
.app-featured-info {
    flex: 1;
    padding: 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.app-featured-info .app-name {
    font-family: var(--title-font);
    font-size: 28px;
    font-weight: 700;
    color: var(--title-color);
    margin-bottom: 4px;
}
.app-featured-info .app-tagline {
    font-size: 15px;
    color: var(--nur-green);
    font-weight: 500;
    margin-bottom: 16px;
}
.app-featured-info .app-desc {
    font-size: 15px;
    line-height: 1.7;
    color: var(--body-color);
    margin-bottom: 20px;
}
.app-featured-info .app-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 24px;
}
.app-featured-info .app-badge {
    background: var(--theme-color2);
    color: var(--nur-green);
    font-size: 12px;
    font-weight: 600;
    padding: 5px 14px;
    border-radius: 20px;
    white-space: nowrap;
}
.app-featured-info .app-store-link img {
    height: 44px;
    transition: opacity 0.2s;
}
.app-featured-info .app-store-link img:hover {
    opacity: 0.8;
}
.app-featured-info .app-version {
    font-size: 12px;
    color: #999;
    margin-top: 12px;
}
.app-grid .col-lg-4 {
    margin-bottom: 0;
}
@media (max-width: 992px) {
    .app-featured {
        flex-direction: column;
    }
    .app-featured-visual {
        min-height: 200px;
    }
    .app-featured-icon {
        width: 100px;
        height: 100px;
        border-radius: 22px;
    }
    .app-featured-info {
        padding: 30px 24px;
    }
    .app-featured-info .app-name {
        font-size: 24px;
    }
}

/* ===== Stats ===== */
.stats-sec {
    padding: 40px 0 60px;
}
.stats-bar {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--white-color);
    border: 1px solid var(--border-color);
    border-radius: 20px;
    padding: 36px 48px;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.04);
}
.stat-block {
    text-align: center;
    flex: 1;
    padding: 8px 24px;
}
.stat-block .stat-number {
    font-family: var(--title-font);
    font-size: 36px;
    font-weight: 800;
    color: var(--title-color);
    line-height: 1;
    margin-bottom: 6px;
}
.stat-block .stat-label {
    font-size: 14px;
    color: var(--body-color);
    font-weight: 500;
}
.stat-divider {
    width: 1px;
    height: 48px;
    background: var(--border-color);
    flex-shrink: 0;
}
@media (max-width: 768px) {
    .stats-bar {
        flex-wrap: wrap;
        padding: 24px 16px;
        gap: 8px;
    }
    .stat-block {
        flex: 0 0 45%;
        padding: 12px 8px;
    }
    .stat-divider {
        display: none;
    }
    .stat-block .stat-number {
        font-size: 28px;
    }
}

/* ===== Mission Quote ===== */
.mission-quote {
    font-family: var(--title-font);
    font-size: 20px;
    font-style: italic;
    color: var(--body-color);
    max-width: 600px;
    margin: 0 auto;
    line-height: 1.6;
}
.mission-quote .attribution {
    font-style: normal;
    font-size: 14px;
    margin-top: 8px;
    color: #999;
    display: block;
}

/* ===== Feature List (App Detail Pages) ===== */
.feature-list-detailed {
    list-style: none;
    padding: 0;
    margin: 0;
}
.feature-list-detailed li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 16px;
    font-size: 15px;
    line-height: 1.6;
    color: var(--body-color);
}
.feature-list-detailed li img {
    width: 20px;
    height: 20px;
    margin-top: 3px;
    flex-shrink: 0;
}
.feature-list-detailed li strong {
    color: var(--title-color);
}

/* ===== Screenshot Gallery ===== */
.screenshot-sec {
    padding: 40px 0 80px;
    overflow: hidden;
}
.screenshot-sec .carousel-container {
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}
.screenshot-sec .swiper {
    overflow: visible;
    margin: 0 !important;
    padding: 0 !important;
}
.screenshot-sec {
    width: 100vw;
    margin-left: calc(-50vw + 50%);
    overflow: hidden;
}
.screenshot-slider {
    overflow: visible;
    padding: 20px 0;
}
.screenshot-slider .swiper-wrapper {
    align-items: center;
}
.screenshot-slider .swiper-slide {
    width: 230px !important;
    flex-shrink: 0;
    transition: transform 0.3s ease;
}
.screenshot-slider .swiper-slide-active {
    transform: scale(1.04) translateY(-16px);
    z-index: 2;
}
.screenshot-slider .swiper-slide img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 16px;
}
.app-dark .screenshot-sec {
    background-color: #000;
}
.app-dark .screenshot-slider .swiper-slide img {
    box-shadow: 0 16px 48px rgba(0, 0, 0, 0.6);
}
@media (max-width: 768px) {
    .screenshot-slider .swiper-slide {
        width: 200px;
    }
}

/* ===== App Pages — Hide Nav, Center Logo, No Sticky ===== */
.app-dark .main-menu11.menu-style11,
.app-dhikrflow .main-menu11.menu-style11 {
    display: none !important;
}
.app-dark .header-btn,
.app-dhikrflow .header-btn {
    display: none !important;
}
.header-main.sticky {
    position: relative !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}
.app-dark .header-bottom .col-lg-6,
.app-dark .header-bottom .col-lg-3:last-child,
.app-dhikrflow .header-bottom .col-lg-6,
.app-dhikrflow .header-bottom .col-lg-3:last-child {
    display: none !important;
}
.app-dark .header-bottom .container-fluid,
.app-dhikrflow .header-bottom .container-fluid {
    padding-left: 60px;
}

/* ===== App Page Hero ===== */
.app-hero-icon {
    margin-bottom: 12px;
    display: flex;
    justify-content: center;
}
.app-hero-icon .app-icon-img {
    width: 100px !important;
    height: 100px !important;
}
.app-hero-icon .app-icon-img {
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.12);
}
.hero-content .app-store-link {
    display: inline-block;
}
.hero-content .app-store-link img {
    height: 52px;
    transition: opacity 0.2s;
}
.hero-content .app-store-link:hover img {
    opacity: 0.85;
}
.hero-content .app-version {
    font-size: 13px;
    color: #999;
}

/* ===== App Detail Hero ===== */
.app-detail-hero {
    display: flex;
    align-items: center;
    gap: 24px;
    margin-bottom: 20px;
}
.app-detail-hero .app-icon-lg {
    width: 120px;
    height: 120px;
    border-radius: 26px;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.12);
}
.app-detail-hero .app-meta .app-name-lg {
    font-family: var(--title-font);
    font-size: 32px;
    font-weight: 800;
    color: var(--title-color);
    margin-bottom: 4px;
}
.app-detail-hero .app-meta .app-tagline-lg {
    font-size: 16px;
    color: var(--nur-green);
    font-weight: 500;
    margin-bottom: 8px;
}
.app-detail-hero .app-meta .app-platforms {
    font-size: 13px;
    color: #999;
}
.app-detail-hero .app-meta .app-store-link img {
    height: 44px;
    margin-top: 12px;
    transition: opacity 0.2s;
}
.app-detail-hero .app-meta .app-store-link img:hover {
    opacity: 0.8;
}

/* ===== Legal Pages ===== */
.legal-header {
    padding: 120px 0 40px;
}
.legal-header .back-link {
    font-size: 14px;
    color: var(--nur-green);
    text-decoration: none;
    margin-bottom: 16px;
    display: inline-block;
}
.legal-header .back-link:hover {
    text-decoration: underline;
}
.legal-header h1 {
    font-family: var(--title-font);
    font-size: 36px;
    font-weight: 800;
    color: var(--title-color);
    margin-bottom: 8px;
}
.legal-header .last-updated {
    font-size: 14px;
    color: #999;
}
.legal-content {
    padding-bottom: 80px;
}
.legal-content section {
    margin-bottom: 40px;
}
.legal-content h2 {
    font-family: var(--title-font);
    font-size: 22px;
    font-weight: 700;
    color: var(--title-color);
    margin-bottom: 16px;
}
.legal-content h3 {
    font-family: var(--title-font);
    font-size: 18px;
    font-weight: 600;
    color: var(--title-color);
    margin-bottom: 12px;
    margin-top: 24px;
}
.legal-content p,
.legal-content li {
    font-size: 15px;
    line-height: 1.7;
    color: var(--body-color);
}
.legal-content ul {
    padding-left: 20px;
    margin-bottom: 16px;
}
.legal-content li {
    margin-bottom: 8px;
}
.legal-content .summary-box {
    background: var(--theme-color2);
    border-radius: 12px;
    padding: 24px 28px;
    margin-bottom: 32px;
}
.legal-content .summary-box h2 {
    color: var(--nur-green);
    margin-bottom: 12px;
}
.legal-content .alert-box {
    background: #FFF8E1;
    border-left: 4px solid #F59E0B;
    border-radius: 8px;
    padding: 20px 24px;
    margin-bottom: 24px;
}
.legal-content .alert-box.info {
    background: #E8F5EE;
    border-left-color: var(--nur-green);
}
.legal-content .alert-box.primary {
    background: var(--theme-color2);
    border-left-color: var(--nur-green);
}
.legal-content .card-box {
    background: var(--bg-color3);
    border-radius: 12px;
    padding: 20px 24px;
    margin-bottom: 16px;
}

/* ===== Contact Page ===== */
.contact-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 24px;
    margin-top: 32px;
}
.contact-card {
    background: var(--white-color);
    border: 1px solid var(--border-color);
    border-radius: 16px;
    padding: 32px;
    text-align: center;
    transition: all 0.3s ease;
}
.contact-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 40px rgba(45, 159, 111, 0.1);
}
.contact-card .contact-icon {
    width: 60px;
    height: 60px;
    border-radius: 14px;
    margin: 0 auto 16px;
    overflow: hidden;
}
.contact-card .contact-icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 14px;
}
.contact-card h3 {
    font-family: var(--title-font);
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 8px;
}
.contact-card p {
    font-size: 14px;
    color: var(--body-color);
    margin-bottom: 16px;
}
.contact-card a.email-link {
    color: var(--nur-green);
    font-weight: 600;
    text-decoration: none;
    font-size: 15px;
}
.contact-card a.email-link:hover {
    text-decoration: underline;
}

/* ===== Dark Mode Overrides ===== */
.dark-active .app-card {
    background: #1A1A1A;
    border-color: #2A2A2A;
}
.dark-active .app-card:hover {
    box-shadow: 0 20px 60px rgba(45, 159, 111, 0.2);
}
.dark-active .app-card .app-name {
    color: #fff;
}
.dark-active .app-card .app-badge {
    background: rgba(45, 159, 111, 0.15);
}
.dark-active .stat-block .stat-number {
    color: var(--nur-green-light);
}
.dark-active .legal-header h1,
.dark-active .legal-content h2,
.dark-active .legal-content h3,
.app-dark .legal-header h1,
.app-dark .legal-content h2,
.app-dark .legal-content h3 {
    color: #fff;
}
.dark-active .legal-content .summary-box,
.app-dark .legal-content .summary-box {
    background: rgba(45, 159, 111, 0.1);
}
.dark-active .legal-content .card-box,
.app-dark .legal-content .card-box {
    background: #1A1A1A;
    color: #ccc;
}
.dark-active .legal-content .alert-box,
.app-dark .legal-content .alert-box {
    background: #1A1A1A;
    color: #ccc;
    border-left-color: #F59E0B;
}
.dark-active .legal-content .alert-box.info,
.app-dark .legal-content .alert-box.info {
    background: rgba(45, 159, 111, 0.1);
    border-left-color: var(--nur-green);
}
.dark-active .legal-content .alert-box.primary,
.app-dark .legal-content .alert-box.primary {
    background: rgba(45, 159, 111, 0.1);
    border-left-color: var(--nur-green);
}
.dark-active .legal-content p,
.dark-active .legal-content li,
.app-dark .legal-content p,
.app-dark .legal-content li {
    color: #aaa;
}
.dark-active .legal-content strong,
.app-dark .legal-content strong {
    color: #ddd;
}
.dark-active .contact-card,
.app-dark .contact-card {
    background: #1A1A1A;
    border-color: #2A2A2A;
}
.dark-active .contact-card h3,
.app-dark .contact-card h3 {
    color: #fff;
}
.dark-active .app-detail-hero .app-meta .app-name-lg {
    color: #fff;
}

/* ===== App Dark Theme (Nur) ===== */
html.no-js body.app-dark,
.app-dark {
    background-color: #000 !important;
    color: #B0B0B0;
}
.app-dark .main-sec {
    background-color: #000;
}
.app-dark .main-sec::before {
    background: radial-gradient(ellipse at 40% 30%, rgba(45, 159, 111, 0.1) 0%, transparent 60%) !important;
}
.app-dark .header-main {
    background-color: transparent;
}
.app-dark .header-main.sticky {
    background-color: #000 !important;
    backdrop-filter: blur(12px);
    border-bottom: 1px solid #1E1E1E;
}
.app-dark .main-menu11.menu-style11 {
    background-color: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.08);
}
.app-dark .main-menu11.menu-style11 ul li a {
    color: #ccc;
}
.app-dark .main-menu11.menu-style11 ul li a:hover,
.app-dark .main-menu11.menu-style11 ul li.active a {
    color: #fff;
}
.app-dark .app-header-brand span,
.app-dark .header-brand {
    color: #fff !important;
}
.app-dark .hero-content .title {
    color: #fff;
}
.app-dark .hero-content p {
    color: #999;
}
.app-dark .hero-content .app-version {
    color: #666;
}
.app-dark .sub-title,
.app-dark .sec-title .sub-title,
.app-dark .sec-title.white .sub-title {
    background-color: rgba(45, 159, 111, 0.15) !important;
    border-color: rgba(45, 159, 111, 0.25) !important;
}
.app-dark .anim-img svg circle[fill="#0E0E0E"] {
    fill: rgba(255, 255, 255, 0.3);
}
.app-dark .anim-img svg circle[stroke="#0E0E0E"] {
    stroke: rgba(255, 255, 255, 0.06);
}
.app-dark .hero-content .app-icon-img {
    background: transparent !important;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.4) !important;
    border: none !important;
}
.app-dark .app-header-icon {
    box-shadow: none !important;
    border: none !important;
}
.app-dark .main-menu11.menu-style11 ul li.active > a {
    background-color: rgba(45, 159, 111, 0.15) !important;
    color: var(--nur-green) !important;
    border-radius: 50px;
}

/* Dark feature section */
.app-dark .feature-sec2 {
    background-color: #0A0A0A !important;
    background-image:
        radial-gradient(ellipse at 20% 50%, rgba(45, 159, 111, 0.08) 0%, transparent 50%),
        radial-gradient(ellipse at 80% 30%, rgba(45, 159, 111, 0.06) 0%, transparent 45%),
        radial-gradient(ellipse at 50% 90%, rgba(45, 159, 111, 0.05) 0%, transparent 40%) !important;
}
.app-dark .feature-sec2 .sec-title .title,
.app-dark .feature-sec2 .sec-title.white .title {
    color: #fff !important;
    opacity: 1 !important;
}
.app-dark .feature-sec2 .sec-title p {
    color: #999 !important;
}
.app-dark .feature-sec2 .feature-block2 {
    background-color: #111 !important;
    border-color: #1E1E1E !important;
    border-style: solid !important;
}
.app-dark .feature-sec2 .feature-block2:hover {
    border-color: var(--nur-green) !important;
}
.app-dark .feature-sec2 .feature-block2 .title a {
    color: #fff !important;
}
.app-dark .feature-sec2 .feature-block2 p {
    color: #888 !important;
}
.app-dark .feature-block2 .feature-icon {
    background: rgba(45, 159, 111, 0.12) !important;
    border-radius: 14px;
}
.app-dark .feature-block2 .feature-icon::before,
.app-dark .feature-block2 .feature-icon::after {
    display: none !important;
}
.app-dark .feature-block2 .feature-icon img {
    filter: brightness(0) invert(1) !important;
}

/* Dark choose/how-it-works section */
.app-dark .choose-us-sec {
    background-color: #050505 !important;
}
.app-dark .choose-info {
    background-color: transparent !important;
}
.app-dark .choose-info .sec-title .title,
.app-dark .choose-info .sec-title.white .title {
    color: #fff !important;
}
.app-dark .choose-block {
    background-color: #111 !important;
    border-color: #1E1E1E !important;
}
.app-dark .choose-block:hover {
    background-color: #151515 !important;
    border-color: var(--nur-green) !important;
}
.app-dark .choose-block .title {
    color: #fff !important;
}
.app-dark .choose-block p {
    color: #888 !important;
}
.app-dark .choose-block:hover .title,
.app-dark .choose-block:hover p {
    color: #fff !important;
}
.app-dark .choose-block .choose-icon {
    background: linear-gradient(180deg, rgba(45, 159, 111, 0.15) 0%, transparent 100%) !important;
}
.app-dark .choose-block .choose-icon img {
    filter: brightness(0) invert(1) !important;
}

/* Dark FAQ section */
.app-dark .faq-sec {
    background-color: #000;
}
.app-dark .faq-sec .sec-title .title {
    color: #fff;
}
.app-dark .faq-sec .sec-title p {
    color: #888;
}
.app-dark .faq-box {
    background-color: #0A0A0A !important;
    border: 1px solid #1E1E1E !important;
    border-radius: 14px;
}
.app-dark .faq-box::before,
.app-dark .faq-box::after {
    display: none !important;
}
.app-dark .accordion-item {
    background-color: transparent !important;
    border-color: #1E1E1E !important;
}
.app-dark .accordion-item.active {
    border-color: var(--nur-green) !important;
}
.app-dark .accordion-button {
    background-color: transparent !important;
    color: #fff !important;
}
.app-dark .accordion-button span {
    color: #fff;
}
.app-dark .accordion-body {
    color: #999;
    background-color: transparent !important;
}
.app-dark .accordion-button .arrow-btn {
    background-color: #1E1E1E !important;
}
.app-dark .accordion-button .arrow-btn img {
    filter: brightness(0) invert(1) !important;
}
.app-dark .accordion-item.active .accordion-button .arrow-btn {
    background-color: var(--nur-green) !important;
}

/* Dark buttons */
.app-dark .btn-style1 {
    background-color: #34C759 !important;
    color: #000 !important;
}
.app-dark .btn-style1:hover {
    background-color: #2DB84E !important;
}
.app-dark .btn-style1 span {
    background-color: #28A745 !important;
}
.app-dark .btn-style1 span img {
    filter: brightness(0) !important;
}

/* Dark CTA */
.app-dark .cta-banner .cta-info {
    background-color: #0A0A0A !important;
    border-color: #1E1E1E !important;
    background-image: radial-gradient(ellipse at 50% 50%, rgba(45, 159, 111, 0.1) 0%, transparent 60%) !important;
}
.app-dark .cta-content .sec-title .sub-title {
    color: var(--nur-green) !important;
}
.app-dark .cta-content .sec-title .title {
    color: #fff;
}
.app-dark .cta-content .sec-title p,
.app-dark .mission-quote {
    color: #999;
}
.app-dark .cta-content .app-store-link img {
    height: 52px;
}

/* Dark How It Works */
.app-dark .choose-us-sec {
    background-color: #000 !important;
}
.app-dark .choose-info {
    border: none !important;
}

/* Dark mobile menu */
.app-dark .mobile-menu {
    background-color: #0A0A0A;
}
.app-dark .mobile-menu a {
    color: #ccc !important;
}
.app-dark .mobile-menu a:hover {
    color: var(--nur-green) !important;
}

/* Dark footer */
.app-dark .footer-style1 .widget-area {
    background-color: #050505;
}
.app-dark .footer-style1 .footer-box {
    background-color: #050505;
    border-top-color: #1A1A1A;
    border-bottom: none !important;
    margin-bottom: 0 !important;
}
.footer-style1 .footer-box {
    border-bottom: none;
    margin-bottom: 0;
}
.app-dark .footer-brand {
    color: #fff !important;
}
.app-dark .footer-style1 .link-title {
    color: #fff !important;
}
.app-dark .footer-style1 .footer-links a {
    color: #888 !important;
}
.app-dark .footer-style1 .footer-links a:hover {
    color: var(--nur-green) !important;
}
.app-dark .footer-style1 .footer-bottom p {
    color: #666;
}
.app-dark .footer-style1 .footer-bottom .scrol-btn-box span {
    color: #666;
}
.app-dark .footer-style1 #scrollTopBtn {
    background-color: #1E1E1E !important;
    border-color: #2A2A2A !important;
}
.app-dark .footer-style1 #scrollTopBtn img {
    filter: brightness(0) invert(1) !important;
}
.app-dark .footer-style1::before {
    background: linear-gradient(180deg, transparent 0%, #050505 100%) !important;
}

/* Dark scrollbar accent */
.app-dark .hamburger-btn span {
    background-color: #fff;
}

/* ===== DhikrFlow Theme (Warm Orange-Purple) ===== */
html.no-js body.app-dhikrflow,
.app-dhikrflow {
    background-color: #FFF9F5 !important;
}
.app-dhikrflow .main-sec {
    background-color: #FFF9F5;
}
.app-dhikrflow .main-sec::before {
    background:
        radial-gradient(ellipse at 30% 20%, rgba(245, 138, 31, 0.1) 0%, transparent 50%),
        radial-gradient(ellipse at 70% 60%, rgba(200, 80, 180, 0.06) 0%, transparent 45%) !important;
}
.app-dhikrflow .hero-content .title {
    color: var(--title-color);
}

/* DhikrFlow root overrides */
.app-dhikrflow {
    --theme-color: #F58A1F;
    --theme-color2: #FFF0E0;
    --border-color2: #FFE4CC;
}

/* DhikrFlow accent colors */
.app-dhikrflow .sub-title,
.app-dhikrflow .sec-title .sub-title,
.app-dhikrflow .sec-title.white .sub-title {
    background-color: #FFF0E0 !important;
    color: #E8751A !important;
    border-color: #FFDDB8 !important;
}
.app-dhikrflow .btn-style1 {
    background-color: #E8751A !important;
    color: #fff !important;
}
.app-dhikrflow .btn-style1:hover {
    background-color: #C96312 !important;
}
.app-dhikrflow .btn-style1 span {
    background-color: #C96312 !important;
}

/* DhikrFlow feature section */
.app-dhikrflow .feature-sec2 {
    background-color: #FFF4EC !important;
    background-image: none !important;
}
.app-dhikrflow .feature-sec2 .sec-title .title,
.app-dhikrflow .feature-sec2 .sec-title.white .title {
    color: var(--title-color) !important;
}
.app-dhikrflow .feature-sec2 .feature-block2 {
    background-color: var(--white-color) !important;
    border-color: #FFE4CC !important;
    border-style: solid !important;
}
.app-dhikrflow .feature-sec2 .feature-block2:hover {
    border-color: #F58A1F !important;
}
.app-dhikrflow .feature-sec2 .feature-block2 .title a {
    color: var(--title-color) !important;
}
.app-dhikrflow .feature-block2 .feature-icon {
    background: linear-gradient(180deg, #FFF0E0 0%, rgba(255, 240, 224, 0) 100%) !important;
}
.app-dhikrflow .feature-block2 .feature-icon img {
    filter: none !important;
}

/* DhikrFlow choose/how-it-works */
.app-dhikrflow .choose-us-sec {
    background-color: #FFF9F5 !important;
}
.app-dhikrflow .choose-info {
    background-color: transparent !important;
    border: none !important;
}
.app-dhikrflow .choose-info .sec-title .title,
.app-dhikrflow .choose-info .sec-title.white .title {
    color: var(--title-color) !important;
}
.app-dhikrflow .choose-block {
    border-color: #FFE4CC !important;
}
.app-dhikrflow .choose-block:hover {
    background-color: #FFF4EC !important;
    border-color: #F58A1F !important;
}
.app-dhikrflow .choose-block:hover .title,
.app-dhikrflow .choose-block:hover p {
    color: var(--title-color) !important;
}
.app-dhikrflow .choose-block .choose-icon {
    background: linear-gradient(180deg, #FFF0E0 0%, rgba(255, 240, 224, 0) 100%) !important;
}

/* DhikrFlow FAQ */
.app-dhikrflow .faq-box {
    border-color: #FFE4CC !important;
}
.app-dhikrflow .faq-box::before,
.app-dhikrflow .faq-box::after {
    display: none !important;
}
.app-dhikrflow .accordion-item {
    border-color: #FFE4CC !important;
}
.app-dhikrflow .accordion-item.active {
    border-color: #F58A1F !important;
}
.app-dhikrflow .accordion-button .arrow-btn {
    background-color: #FFF0E0 !important;
}
.app-dhikrflow .accordion-item.active .accordion-button .arrow-btn {
    background-color: #E8751A !important;
}
.app-dhikrflow .accordion-button .arrow-btn img {
    filter: none !important;
}
.app-dhikrflow .accordion-item.active .accordion-button .arrow-btn img {
    filter: brightness(0) invert(1) !important;
}

/* DhikrFlow CTA button fix */
.app-dhikrflow .cta-content .btn-style1 {
    background-color: #E8751A !important;
    opacity: 1 !important;
}
.app-dhikrflow .cta-content .btn-style1 span {
    background-color: #C96312 !important;
}

/* DhikrFlow CTA */
.app-dhikrflow .cta-banner .cta-info {
    background-color: #FFF4EC !important;
    border-color: #FFE4CC !important;
    background-image: radial-gradient(ellipse at 50% 50%, rgba(245, 138, 31, 0.08) 0%, transparent 60%) !important;
}

/* DhikrFlow footer */
.app-dhikrflow .footer-style1 .widget-area {
    background-color: #FFFBF8;
}
.app-dhikrflow .footer-style1 .footer-box {
    background-color: #FFFBF8;
    border-top-color: #FFE4CC;
}
.app-dhikrflow .footer-style1 .footer-links a:hover {
    color: #F58A1F !important;
}

/* DhikrFlow screenshot section */
.app-dhikrflow .screenshot-sec {
    background-color: #FFF9F5;
}
.app-dhikrflow .screenshot-slider .swiper-slide img {
    box-shadow: 0 16px 48px rgba(245, 138, 31, 0.15);
}

/* DhikrFlow app card accents */
.app-dhikrflow .app-badge {
    background: #FFF0E0 !important;
    color: #E8751A !important;
}

/* DhikrFlow nav */
.app-dhikrflow .main-menu11.menu-style11 {
    background-color: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(12px);
    border-color: #FFE4CC;
}
.app-dhikrflow .main-menu11.menu-style11 ul li.active > a {
    background-color: #FFF0E0 !important;
    color: #E8751A !important;
    border-radius: 50px;
}
.app-dhikrflow .header-main.sticky {
    background-color: #FFF9F5 !important;
    backdrop-filter: blur(12px);
    border-bottom: 1px solid #FFE4CC;
}

/* DhikrFlow feature icons */
.app-dhikrflow .feature-block2 .feature-icon::before {
    background: linear-gradient(180deg, #FFF0E0 0%, rgba(255, 240, 224, 0) 100%) !important;
}
.app-dhikrflow .feature-block2 .feature-icon::after {
    background: linear-gradient(180deg, #FFDDB8 0%, rgba(255, 221, 184, 0) 100%) !important;
}

/* DhikrFlow choose icons */
.app-dhikrflow .choose-block .choose-icon::before {
    background: linear-gradient(180deg, #FFF0E0 0%, rgba(255, 240, 224, 0) 100%) !important;
}
.app-dhikrflow .choose-block .choose-icon::after {
    background: linear-gradient(180deg, #FFDDB8 0%, rgba(255, 221, 184, 0) 100%) !important;
}

/* DhikrFlow accordion arrow */
.app-dhikrflow .accordion-item.active .accordion-button .arrow-btn img {
    filter: brightness(0) invert(1) !important;
}

/* DhikrFlow scrollbar/back-to-top */
.app-dhikrflow #scrollTopBtn {
    background-color: #FFF0E0 !important;
    border-color: #FFE4CC !important;
}

/* DhikrFlow hero gradient */
.app-dhikrflow .anim-img svg circle[fill="#0E0E0E"] {
    fill: #F58A1F;
    fill-opacity: 0.15;
}
.app-dhikrflow .anim-img svg circle[stroke="#0E0E0E"] {
    stroke: #F58A1F;
    stroke-opacity: 0.06;
}

/* ===== Prayer Bar Theme (Light Green) ===== */
html.no-js body.app-prayerbar,
.app-prayerbar {
    --theme-color: #22c55e;
    --theme-color2: #E6F9ED;
    --border-color2: #C5E8D4;
    background-color: #F7FDF9 !important;
}
.app-prayerbar .main-sec {
    background-color: #F7FDF9;
}
.app-prayerbar .main-sec::before {
    background:
        radial-gradient(ellipse at 30% 20%, rgba(34, 197, 94, 0.1) 0%, transparent 50%),
        radial-gradient(ellipse at 70% 60%, rgba(34, 197, 94, 0.06) 0%, transparent 45%) !important;
}

/* Prayer Bar accent colors */
.app-prayerbar .sub-title,
.app-prayerbar .sec-title .sub-title,
.app-prayerbar .sec-title.white .sub-title {
    background-color: #E6F9ED !important;
    color: #16a34a !important;
    border-color: #A7D9B8 !important;
}
.app-prayerbar .btn-style1 {
    background-color: #16a34a !important;
    color: #fff !important;
}
.app-prayerbar .btn-style1:hover {
    background-color: #15803d !important;
}
.app-prayerbar .btn-style1 span {
    background-color: #15803d !important;
}

/* Prayer Bar sections */
.app-prayerbar .feature-sec2 {
    background-color: #F0FBF4 !important;
    background-image: none !important;
}
.app-prayerbar .feature-sec2 .sec-title .title,
.app-prayerbar .feature-sec2 .sec-title.white .title {
    color: var(--title-color) !important;
}
.app-prayerbar .feature-sec2 .feature-block2 {
    background-color: var(--white-color) !important;
    border-color: #C5E8D4 !important;
    border-style: solid !important;
}
.app-prayerbar .feature-sec2 .feature-block2:hover {
    border-color: #22c55e !important;
}
.app-prayerbar .feature-block2 .feature-icon {
    background: linear-gradient(180deg, #E6F9ED 0%, rgba(230, 249, 237, 0) 100%) !important;
}
.app-prayerbar .choose-us-sec {
    background-color: #F7FDF9 !important;
}
.app-prayerbar .choose-info {
    background-color: transparent !important;
    border: none !important;
}
.app-prayerbar .choose-info .sec-title .title,
.app-prayerbar .choose-info .sec-title.white .title {
    color: var(--title-color) !important;
}
.app-prayerbar .choose-block {
    border-color: #C5E8D4 !important;
}
.app-prayerbar .choose-block:hover {
    background-color: #F0FBF4 !important;
    border-color: #22c55e !important;
}
.app-prayerbar .choose-block:hover .title,
.app-prayerbar .choose-block:hover p {
    color: var(--title-color) !important;
}
.app-prayerbar .choose-block .choose-icon {
    background: linear-gradient(180deg, #E6F9ED 0%, rgba(230, 249, 237, 0) 100%) !important;
}

/* Prayer Bar FAQ */
.app-prayerbar .faq-box {
    border-color: #C5E8D4 !important;
}
.app-prayerbar .accordion-item {
    border-color: #C5E8D4 !important;
}
.app-prayerbar .accordion-item.active {
    border-color: #22c55e !important;
}
.app-prayerbar .accordion-button .arrow-btn {
    background-color: #E6F9ED !important;
}
.app-prayerbar .accordion-item.active .accordion-button .arrow-btn {
    background-color: #16a34a !important;
}
.app-prayerbar .accordion-item.active .accordion-button .arrow-btn img {
    filter: brightness(0) invert(1) !important;
}

/* Prayer Bar CTA */
.app-prayerbar .cta-banner .cta-info {
    background-color: #F0FBF4 !important;
    border-color: #C5E8D4 !important;
    background-image: radial-gradient(ellipse at 50% 50%, rgba(34, 197, 94, 0.08) 0%, transparent 60%) !important;
}

/* Prayer Bar footer */
.app-prayerbar .footer-style1 .widget-area {
    background-color: #FAFEFB;
}
.app-prayerbar .footer-style1 .footer-box {
    background-color: #FAFEFB;
    border-top-color: #C5E8D4;
}
.app-prayerbar .footer-style1 .footer-links a:hover {
    color: #22c55e !important;
}

/* Prayer Bar screenshot section — macOS showcase */
.mac-screenshot-sec {
    padding: 20px 0 60px;
}
.mac-showcase {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}
.mac-showcase-slider .swiper-slide img {
    width: 100%;
    height: auto;
    border-radius: 16px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
    border: 1px solid #E5EDE9;
}
.mac-pagination {
    margin-top: 20px !important;
    position: relative !important;
    text-align: center;
}
.mac-pagination .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    background: #C5E8D4;
    opacity: 1;
    margin: 0 5px !important;
}
.mac-pagination .swiper-pagination-bullet-active {
    background: #22c55e;
    width: 28px;
    border-radius: 5px;
}
.screenshot-slider.screenshot-slider-mac .swiper-slide {
    width: auto !important;
    transform: scale(0.88) !important;
    transition: all 0.5s ease !important;
    opacity: 0.5 !important;
}
.screenshot-slider.screenshot-slider-mac .swiper-slide-active {
    transform: scale(1) translateY(-16px) !important;
    opacity: 1 !important;
    z-index: 2 !important;
}
.screenshot-slider.screenshot-slider-mac .swiper-slide-prev,
.screenshot-slider.screenshot-slider-mac .swiper-slide-next {
    opacity: 0.6 !important;
    transform: scale(0.92) !important;
}
.screenshot-slider.screenshot-slider-mac .swiper-slide img {
    width: 100% !important;
    height: auto !important;
    max-height: 420px;
    object-fit: contain;
    border-radius: 12px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
}
.screenshot-slider.screenshot-slider-mac .swiper-slide-active img {
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.4) !important;
}

/* Prayer Bar nav */
.app-prayerbar .main-menu11.menu-style11 {
    display: none !important;
}
.app-prayerbar .header-btn {
    display: none !important;
}
.app-prayerbar .header-bottom .col-lg-6,
.app-prayerbar .header-bottom .col-lg-3:last-child {
    display: none !important;
}
.app-prayerbar .header-main.sticky {
    position: relative !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}
.app-prayerbar .header-bottom .container-fluid {
    padding-left: 60px;
}

/* Prayer Bar orbital dots */
.app-prayerbar .anim-img svg circle[fill="#0E0E0E"] {
    fill: #22c55e;
    fill-opacity: 0.15;
}
.app-prayerbar .anim-img svg circle[stroke="#0E0E0E"] {
    stroke: #22c55e;
    stroke-opacity: 0.06;
}

/* ===== Wird Theme (Parchment — warm paper) ===== */
html.no-js body.app-wird,
.app-wird {
    background-color: #F5F0E6 !important;
}
.app-wird .main-sec {
    background-color: #F5F0E6;
}
.app-wird .main-sec::before {
    background:
        radial-gradient(ellipse at 30% 20%, rgba(222, 115, 86, 0.10) 0%, transparent 50%),
        radial-gradient(ellipse at 70% 60%, rgba(222, 115, 86, 0.05) 0%, transparent 45%) !important;
}
.app-wird .hero-content .title {
    color: #45382B;
}

/* Wird root overrides */
.app-wird {
    --theme-color: #DE7356;
    --theme-color2: #F8E6DF;
    --border-color2: #EAD2C8;
}

/* Wird accent colors */
.app-wird .sub-title,
.app-wird .sec-title .sub-title,
.app-wird .sec-title.white .sub-title {
    background-color: #F8E6DF !important;
    color: #DE7356 !important;
    border-color: #EAD2C8 !important;
}
.app-wird .btn-style1 {
    background-color: #DE7356 !important;
    color: #fff !important;
}
.app-wird .btn-style1:hover {
    background-color: #C25A3F !important;
}
.app-wird .btn-style1 span {
    background-color: #C25A3F !important;
}

/* Wird feature section */
.app-wird .feature-sec2 {
    background-color: #EFE7DA !important;
    background-image: none !important;
}
.app-wird .feature-sec2 .sec-title .title,
.app-wird .feature-sec2 .sec-title.white .title {
    color: #45382B !important;
}
.app-wird .feature-sec2 .feature-block2 {
    background-color: #FFFCF5 !important;
    border-color: #EAD2C8 !important;
    border-style: solid !important;
}
.app-wird .feature-sec2 .feature-block2:hover {
    border-color: #DE7356 !important;
}
.app-wird .feature-sec2 .feature-block2 .title a {
    color: #45382B !important;
}
.app-wird .feature-sec2 .feature-block2 p {
    color: #7A6B54 !important;
}
.app-wird .feature-block2 .feature-icon {
    background: linear-gradient(180deg, #F8E6DF 0%, rgba(248, 230, 223, 0) 100%) !important;
}
.app-wird .feature-block2 .feature-icon img {
    filter: none !important;
}

/* Wird choose / how-it-works */
.app-wird .choose-us-sec {
    background-color: #F5F0E6 !important;
}
.app-wird .choose-info {
    background-color: transparent !important;
    border: none !important;
}
.app-wird .choose-info .sec-title .title,
.app-wird .choose-info .sec-title.white .title {
    color: #45382B !important;
}
.app-wird .choose-block {
    border-color: #EAD2C8 !important;
}
.app-wird .choose-block .title {
    color: #45382B !important;
}
.app-wird .choose-block p {
    color: #7A6B54 !important;
}
.app-wird .choose-block:hover {
    background-color: #EFE7DA !important;
    border-color: #DE7356 !important;
}
.app-wird .choose-block:hover .title,
.app-wird .choose-block:hover p {
    color: #45382B !important;
}
.app-wird .choose-block .choose-icon {
    background: linear-gradient(180deg, #F8E6DF 0%, rgba(248, 230, 223, 0) 100%) !important;
}

/* Wird FAQ */
.app-wird .faq-box {
    border-color: #EAD2C8 !important;
}
.app-wird .faq-box::before,
.app-wird .faq-box::after {
    display: none !important;
}
.app-wird .accordion-item {
    border-color: #EAD2C8 !important;
}
.app-wird .accordion-item.active {
    border-color: #DE7356 !important;
}
.app-wird .accordion-button .arrow-btn {
    background-color: #F8E6DF !important;
}
.app-wird .accordion-item.active .accordion-button .arrow-btn {
    background-color: #DE7356 !important;
}
.app-wird .accordion-button .arrow-btn img {
    filter: none !important;
}
.app-wird .accordion-item.active .accordion-button .arrow-btn img {
    filter: brightness(0) invert(1) !important;
}

/* Wird CTA */
.app-wird .cta-content .btn-style1 {
    background-color: #DE7356 !important;
    opacity: 1 !important;
}
.app-wird .cta-content .btn-style1 span {
    background-color: #C25A3F !important;
}
.app-wird .cta-banner .cta-info {
    background-color: #EFE7DA !important;
    border-color: #EAD2C8 !important;
    background-image: radial-gradient(ellipse at 50% 50%, rgba(222, 115, 86, 0.08) 0%, transparent 60%) !important;
}

/* Wird footer */
.app-wird .footer-style1 .widget-area {
    background-color: #F7F1E6;
}
.app-wird .footer-style1 .footer-box {
    background-color: #F7F1E6;
    border-top-color: #EAD2C8;
}
.app-wird .footer-style1 .footer-links a:hover {
    color: #DE7356 !important;
}

/* Wird screenshot section */
.app-wird .screenshot-sec {
    background-color: #F5F0E6;
}
.app-wird .screenshot-slider .swiper-slide img {
    border-radius: 32px;
    box-shadow: 0 16px 48px rgba(222, 115, 86, 0.15);
}

/* Wird nav */
.app-wird .main-menu11.menu-style11 {
    background-color: rgba(255, 252, 245, 0.7);
    backdrop-filter: blur(12px);
    border-color: #EAD2C8;
}
.app-wird .main-menu11.menu-style11 ul li.active > a {
    background-color: #F8E6DF !important;
    color: #DE7356 !important;
    border-radius: 50px;
}
.app-wird .header-main.sticky {
    background-color: #F5F0E6 !important;
    backdrop-filter: blur(12px);
    border-bottom: 1px solid #EAD2C8;
}

/* Wird feature / choose icon glows */
.app-wird .feature-block2 .feature-icon::before,
.app-wird .choose-block .choose-icon::before {
    background: linear-gradient(180deg, #F8E6DF 0%, rgba(248, 230, 223, 0) 100%) !important;
}
.app-wird .feature-block2 .feature-icon::after,
.app-wird .choose-block .choose-icon::after {
    background: linear-gradient(180deg, #EAD2C8 0%, rgba(234, 210, 200, 0) 100%) !important;
}

/* Wird back-to-top */
.app-wird #scrollTopBtn {
    background-color: #F8E6DF !important;
    border-color: #EAD2C8 !important;
}

/* ===== Responsive ===== */
@media (max-width: 768px) {
    .stat-block .stat-number {
        font-size: 32px;
    }
    .app-card {
        padding: 30px 20px;
    }
    .app-detail-hero {
        flex-direction: column;
        text-align: center;
    }
    .app-detail-hero .app-meta .app-name-lg {
        font-size: 26px;
    }
    .legal-header {
        padding: 100px 0 30px;
    }
    .legal-header h1 {
        font-size: 28px;
    }
}

/* =========================================================================
   UNIFIED CARD TREATMENT — site-wide
   Applies the Apps Section Redesign card chrome (white, 24px radius, soft
   layered shadow, 3px lift on hover) to the other card-shaped surfaces:
   .feature-block2 (Our Values), .choose-block (How It Works),
   .faq-box .accordion-item (FAQs). Border-based styles are neutralized.
   ========================================================================= */
.feature-block2,
.choose-block,
.faq-box .accordion-item {
    background: #ffffff !important;
    border: none !important;
    border-radius: 24px !important;
    box-shadow:
        0 1px 0 rgba(20, 40, 30, 0.04),
        0 24px 50px -28px rgba(20, 40, 30, 0.18) !important;
    transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}
.feature-block2:hover,
.choose-block:hover,
.faq-box .accordion-item:hover {
    transform: translateY(-3px);
    box-shadow:
        0 1px 0 rgba(20, 40, 30, 0.05),
        0 32px 60px -28px rgba(20, 40, 30, 0.22) !important;
    background: #ffffff !important;
}

/* Neutralize existing border-color hover (was switching to green) */
.feature-sec2 .feature-block2,
.feature-sec2 .feature-block2:hover {
    border: none !important;
}
.choose-block:hover {
    background-color: #ffffff !important;
    border-color: transparent !important;
}

/* FAQ accordion items: separated, no inner divider lines, item spacing */
.faq-box .accordion,
.faq-box .vs-accordion {
    display: flex;
    flex-direction: column;
    gap: 12px;
    border: 0 !important;       /* kill the 1px container border (style.css:3530) */
    border-radius: 0 !important;
    --bs-accordion-border-width: 0;
    --bs-accordion-border-color: transparent;
    --bs-accordion-inner-border-radius: 24px;
    --bs-accordion-border-radius: 24px;
}
/* Higher specificity to defeat the vendor rule
   .faq-box .vs-accordion .accordion-item that sets border-bottom: 1px */
.faq-box .vs-accordion .accordion-item,
.faq-box .vs-accordion .accordion-item:last-child {
    overflow: hidden;
    border: 0 !important;
    border-bottom: 0 !important;
    /* Override the shared shadow without the 1px contact line —
       avoids the hairline reading as a bottom border on stacked items */
    box-shadow: 0 24px 50px -28px rgba(20, 40, 30, 0.18) !important;
}
.faq-box .vs-accordion .accordion-item:hover {
    box-shadow: 0 32px 60px -28px rgba(20, 40, 30, 0.22) !important;
}
/* Kill the decorative bg layer that vendor adds on item::before */
.faq-box .vs-accordion .accordion-item::before {
    display: none !important;
}
/* Kill Bootstrap's default borders on every accordion sub-element */
.faq-box .accordion-header,
.faq-box .accordion-button,
.faq-box .accordion-collapse,
.faq-box .accordion-body {
    border: 0 !important;
    box-shadow: none !important;
}
.faq-box .accordion-button {
    border-radius: 24px !important;
    background: #ffffff !important;
}
.faq-box .accordion-button:not(.collapsed) {
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
    background: #ffffff !important;
    box-shadow: none !important;
}
.faq-box .accordion-button:focus {
    box-shadow: none !important;
    outline: none !important;
}

/* =========================================================================
   DARK THEME — Option A: Apps Section card philosophy adapted for dark pages
   Applies to .app-dark (Nūr, Nur Radio). Keeps the dark surface but drops
   the hard border, adds soft dark elevation + green accent glow on hover.
   ========================================================================= */
.app-dark .feature-sec2 .feature-block2,
.app-dark .choose-block,
.app-dark .faq-box .vs-accordion .accordion-item {
    background-color: #141414 !important;
    border: 0 !important;
    border-radius: 24px !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.04),
        0 24px 50px -28px rgba(0, 0, 0, 0.70) !important;
    transition: transform 0.25s ease, box-shadow 0.25s ease, background-color 0.25s ease !important;
}
.app-dark .feature-sec2 .feature-block2:hover,
.app-dark .choose-block:hover,
.app-dark .faq-box .vs-accordion .accordion-item:hover {
    background-color: #181818 !important;
    border: 0 !important;
    transform: translateY(-3px);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.06),
        0 32px 60px -28px rgba(0, 0, 0, 0.80),
        0 0 0 1px rgba(45, 159, 111, 0.18),
        0 0 32px -8px rgba(45, 159, 111, 0.22) !important;
}

/* Dark FAQ — kill the container's dark border + decorative bg, neutralize
   .faq-box override that sets bg/border on dark pages */
.app-dark .faq-box,
.app-dark .faq-box .accordion,
.app-dark .faq-box .vs-accordion {
    background-color: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
}
.app-dark .faq-box .accordion-button,
.app-dark .faq-box .accordion-button:not(.collapsed),
.app-dark .faq-box .accordion-body {
    background: #141414 !important;
    color: #fff !important;
}
.app-dark .faq-box .accordion-button:hover {
    background: #181818 !important;
}
.app-dark .faq-box .accordion-body {
    color: #888 !important;
}

/* =========================================================================
   LIGHT-THEMED APP PAGES — DhikrFlow / Prayer Bar / Wird
   Apply the same Apps Section card philosophy (white surface, no border,
   soft shadow + brand-accent glow on hover) using each theme's accent.
   Sets --theme-accent per body class; cards consume it for the hover glow.
   ========================================================================= */
.app-dhikrflow { --theme-accent: 245, 138, 31; }   /* #F58A1F */
.app-prayerbar { --theme-accent: 22, 163, 74; }    /* #16a34a */
.app-wird      { --theme-accent: 222, 115, 86; }   /* #DE7356 */

.app-dhikrflow .feature-sec2 .feature-block2,
.app-dhikrflow .choose-block,
.app-dhikrflow .faq-box .vs-accordion .accordion-item,
.app-prayerbar .feature-sec2 .feature-block2,
.app-prayerbar .choose-block,
.app-prayerbar .faq-box .vs-accordion .accordion-item,
.app-wird .feature-sec2 .feature-block2,
.app-wird .choose-block,
.app-wird .faq-box .vs-accordion .accordion-item {
    background-color: #ffffff !important;
    border: 0 !important;
    border-radius: 24px !important;
    box-shadow:
        0 1px 0 rgba(20, 40, 30, 0.04),
        0 24px 50px -28px rgba(20, 40, 30, 0.18) !important;
    transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}
.app-dhikrflow .feature-sec2 .feature-block2:hover,
.app-dhikrflow .choose-block:hover,
.app-dhikrflow .faq-box .vs-accordion .accordion-item:hover,
.app-prayerbar .feature-sec2 .feature-block2:hover,
.app-prayerbar .choose-block:hover,
.app-prayerbar .faq-box .vs-accordion .accordion-item:hover,
.app-wird .feature-sec2 .feature-block2:hover,
.app-wird .choose-block:hover,
.app-wird .faq-box .vs-accordion .accordion-item:hover {
    background-color: #ffffff !important;
    border: 0 !important;
    transform: translateY(-3px);
    box-shadow:
        0 1px 0 rgba(20, 40, 30, 0.05),
        0 32px 60px -28px rgba(var(--theme-accent), 0.28),
        0 0 0 1px rgba(var(--theme-accent), 0.10) !important;
}

/* Neutralize themed FAQ container borders (same trick as the global pass) */
.app-dhikrflow .faq-box,
.app-dhikrflow .faq-box .vs-accordion,
.app-prayerbar .faq-box,
.app-prayerbar .faq-box .vs-accordion,
.app-wird .faq-box,
.app-wird .faq-box .vs-accordion {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
}
.app-dhikrflow .faq-box .vs-accordion .accordion-item::before,
.app-prayerbar .faq-box .vs-accordion .accordion-item::before,
.app-wird .faq-box .vs-accordion .accordion-item::before {
    display: none !important;
}

/* =========================================================================
   MOBILE FIXES — addresses the audit findings (2026-05-25)
   - 44×44 tap targets, dark-theme mobile header restored, smaller card
     padding, hero cluster height cap, readable meta text, hover-on-tap fix
   ========================================================================= */

/* Hamburger button: meets WCAG 2.5.5 / Apple HIG 44pt minimum */
.hamburger-btn {
    min-width: 44px;
    min-height: 44px;
    padding: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Restore a slim header (logo + hamburger) on dark/themed app pages at
   mobile widths so users can reach Nav / Privacy / Terms without scrolling
   to the footer. Nav itself stays hidden — hamburger surfaces it. */
@media (max-width: 991px) {
    .app-dark .header-main,
    .app-dark .header-bottom,
    .app-dhikrflow .header-main,
    .app-dhikrflow .header-bottom,
    .app-prayerbar .header-main,
    .app-prayerbar .header-bottom,
    .app-wird .header-main,
    .app-wird .header-bottom {
        display: block !important;
        visibility: visible !important;
    }
    .app-dark .header-btn,
    .app-dhikrflow .header-btn,
    .app-prayerbar .header-btn,
    .app-wird .header-btn {
        display: flex !important;
        justify-content: flex-end;
    }
}

/* Apps Section cards: tighter padding + auto height on phones so they
   don't dominate the viewport. */
@media (max-width: 560px) {
    .apps-section .app-card {
        padding: 22px;
        min-height: auto;
    }
    .apps-section .app-card--lg {
        padding: 26px;
        min-height: auto;
    }
    .apps-section .app-card__head {
        gap: 14px;
        margin-bottom: 14px;
    }
    .apps-section .app-card--lg .app-card__head {
        gap: 16px;
        margin-bottom: 18px;
    }
    .apps-section .app-card__icon {
        width: 56px;
        height: 56px;
    }
    .apps-section .app-card--lg .app-card__icon {
        width: 64px;
        height: 64px;
    }
    .apps-section .app-card__title { font-size: 20px; }
    .apps-section .app-card--lg .app-card__title { font-size: 22px; }
    .apps-section .app-card__tagline { font-size: 13px; }
    .apps-section .app-card--lg .app-card__tagline { font-size: 13.5px; }
    .apps-section .app-card__desc { font-size: 14.5px; }
    .apps-section .app-card--lg .app-card__desc { font-size: 15px; }
    .apps-section .platforms__version { font-size: 12.5px; }
    .apps-section .app-store-link--text { font-size: 14px; padding: 8px 0; }
}

/* Hero icon cluster — cap height on phones so it doesn't eat the fold */
@media (max-width: 560px) {
    .nl-stage {
        max-width: 360px;
        max-height: 360px;
    }
}
@media (max-width: 400px) {
    .nl-stage {
        max-width: 320px;
        max-height: 320px;
    }
}

/* Hover-only effects shouldn't fire on tap (iOS treats tap as hover, causing
   card jump). Re-scope all card hover transforms behind a real-hover query. */
@media (hover: none) {
    .feature-block2:hover,
    .choose-block:hover,
    .faq-box .vs-accordion .accordion-item:hover,
    .apps-section .app-card:hover,
    .app-dark .feature-sec2 .feature-block2:hover,
    .app-dark .choose-block:hover,
    .app-dark .faq-box .vs-accordion .accordion-item:hover,
    .app-dhikrflow .feature-sec2 .feature-block2:hover,
    .app-dhikrflow .choose-block:hover,
    .app-dhikrflow .faq-box .vs-accordion .accordion-item:hover,
    .app-prayerbar .feature-sec2 .feature-block2:hover,
    .app-prayerbar .choose-block:hover,
    .app-prayerbar .faq-box .vs-accordion .accordion-item:hover,
    .app-wird .feature-sec2 .feature-block2:hover,
    .app-wird .choose-block:hover,
    .app-wird .faq-box .vs-accordion .accordion-item:hover {
        transform: none !important;
    }
}

/* Wird screenshot Swiper pagination + nav — themed to match the page */
.app-wird .screenshot-slider {
    padding-bottom: 40px;
}
.app-wird .screenshot-slider .swiper-pagination {
    bottom: 8px;
}
.app-wird .screenshot-slider .swiper-pagination-bullet {
    background: #DE7356;
    opacity: 0.35;
    width: 8px;
    height: 8px;
    transition: opacity 0.2s ease, transform 0.2s ease;
}
.app-wird .screenshot-slider .swiper-pagination-bullet-active {
    opacity: 1;
    transform: scale(1.2);
}
.app-wird .screenshot-slider .swiper-button-prev,
.app-wird .screenshot-slider .swiper-button-next {
    color: #DE7356;
    background: rgba(255, 255, 255, 0.9);
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: none;
    box-shadow: 0 4px 12px rgba(20, 40, 30, 0.12);
    top: 50%;
    margin-top: -22px;
    transition: background 0.2s ease, transform 0.2s ease;
}
.app-wird .screenshot-slider .swiper-button-prev:hover,
.app-wird .screenshot-slider .swiper-button-next:hover {
    background: #ffffff;
    transform: scale(1.05);
}
.app-wird .screenshot-slider .swiper-button-prev:after,
.app-wird .screenshot-slider .swiper-button-next:after {
    font-size: 16px;
    font-weight: 700;
}
/* Hide arrows on very small screens — pagination dots are enough */
@media (max-width: 560px) {
    .app-wird .screenshot-slider .swiper-button-prev,
    .app-wird .screenshot-slider .swiper-button-next {
        display: none;
    }
}

/* Contact email link — bigger tap area, doesn't change visual */
.email-link {
    display: inline-block;
    padding: 8px 0;
    min-height: 44px;
    line-height: 1.6;
}

/* Choose-block: icon-left layout to match the apps-bento card style.
   Vendor markup has the .ph-icon as the first child, then h3.title, then p.
   We use CSS Grid to place icon in column 1 (spanning both content rows)
   and title + p stacked in column 2. text-align is overridden to left. */
.choose-block {
    display: grid !important;
    grid-template-columns: auto 1fr;
    column-gap: 18px;
    row-gap: 4px;
    align-items: start;
    text-align: left !important;
}
.choose-block > .ph-icon {
    grid-column: 1;
    grid-row: 1 / span 2;
    margin-bottom: 0 !important;
    align-self: start;
}
.choose-block > .choose-icon {
    display: none !important;
}
.choose-block > .title {
    grid-column: 2;
    grid-row: 1;
    text-align: left !important;
}
.choose-block > p {
    grid-column: 2;
    grid-row: 2;
    text-align: left !important;
}

/* Choose-block / feature-block2: vendor padding is 40px vertical even when
   cards stack to 1-col (below 992px), leaving big empty space inside each
   card. Tighten internal padding AND give cards CLEAR vertical breathing
   room when stacked. The card-wrapper (col > div) is display:flex from
   nurlabs.css:119, which would swallow margin-bottom on the choose-block
   itself, so we put the gap on the COLUMN instead via padding-bottom. */
@media (max-width: 991px) {
    .choose-block,
    .feature-block2 {
        padding: 32px 26px !important;
        margin-bottom: 0 !important;
    }
    .choose-us-sec .row > [class*="col-"],
    .choose-info .row > [class*="col-"],
    .feature-sec2 .row > [class*="col-"] {
        padding-bottom: 28px !important;
    }
    .choose-us-sec .row > [class*="col-"]:last-child,
    .choose-info .row > [class*="col-"]:last-child,
    .feature-sec2 .row > [class*="col-"]:last-child {
        padding-bottom: 0 !important;
    }
}
@media (max-width: 560px) {
    .choose-block,
    .feature-block2 {
        padding: 26px 22px !important;
    }
    .choose-us-sec .row > [class*="col-"],
    .choose-info .row > [class*="col-"],
    .feature-sec2 .row > [class*="col-"] {
        padding-bottom: 24px !important;
    }
    .choose-block .title,
    .feature-block2 .title {
        font-size: 20px !important;
        line-height: 1.3 !important;
        margin-bottom: 10px !important;
    }
    .choose-block p,
    .feature-block2 p {
        font-size: 14.5px !important;
        line-height: 1.55 !important;
    }
    /* Icon spacing: reduce gap between icon and title */
    .choose-block .choose-icon,
    .choose-block .ph-icon,
    .feature-block2 .feature-icon,
    .feature-block2 .ph-icon {
        margin-bottom: 18px !important;
    }
}
