:root {
    --ch-primary: #0d6efd;
    --ch-primary-dark: #0b5ed7;
    --ch-navy: #051430;
    --ch-purple: #8a4fff;
    --ch-orange: #ff7a2e;
    --ch-teal: #14b8a6;
    --ch-stats-bg: #0a0e21;
    --ch-footer-bg: #0a1931;
    --ch-radius: 1rem;
    --ch-font: "Assistant", system-ui, sans-serif;
}

.ch-wide .container {
    width: min(100%, 1600px);
}

@media (min-width: 1200px) {
    .ch-wide .container {
        max-width: 1440px;
    }
}

@media (min-width: 1600px) {
    .ch-wide .container {
        max-width: 1600px;
    }
}

html {
    height: 100%;
    width: 100%;
    overflow-x: hidden;
    -webkit-text-size-adjust: 100%;
}

.chabad-body {
    font-family: var(--ch-font);
    color: #212529;
    background: #fff;
    min-height: 100%;
    min-height: 100vh;
    min-height: 100dvh;
    display: flex;
    flex-direction: column;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    width: 100%;
    overflow-x: hidden;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.chabad-body.ch-site-loading {
    overflow: hidden;
}

.ch-site-loader {
    position: fixed;
    inset: 0;
    z-index: 3000;
    display: grid;
    place-items: center;
    background:
        radial-gradient(90% 90% at 82% 18%, rgba(138, 79, 255, 0.16) 0%, rgba(138, 79, 255, 0) 62%),
        radial-gradient(85% 85% at 18% 82%, rgba(13, 110, 253, 0.14) 0%, rgba(13, 110, 253, 0) 62%),
        linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    opacity: 1;
    visibility: visible;
    transition: opacity 0.38s ease, visibility 0.38s ease;
}

.ch-site-loader.is-hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.ch-site-loader__inner {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 120px;
    height: 120px;
}

.ch-site-loader__ring {
    position: absolute;
    width: 120px;
    height: 120px;
    border-radius: 999px;
    border: 3px solid rgba(13, 110, 253, 0.18);
    border-top-color: rgba(13, 110, 253, 0.8);
    animation: ch-site-spin 1s linear infinite;
}

.ch-site-loader__logoWrap {
    width: 84px;
    height: 84px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.1);
    box-shadow: 0 14px 34px rgba(2, 6, 23, 0.14);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.ch-site-loader__logo {
    width: 58px;
    height: 58px;
    object-fit: contain;
}

.ch-site-loader__logoMark {
    width: 58px;
    height: 58px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: 800;
    font-size: 1.65rem;
    background: linear-gradient(135deg, var(--ch-primary), #4dabf7);
}

.ch-site-loader__text {
    position: absolute;
    top: calc(100% + 0.8rem);
    inset-inline-start: 50%;
    transform: translateX(-50%);
    white-space: nowrap;
    color: #0f172a;
    font-weight: 700;
    font-size: 0.95rem;
    letter-spacing: 0.02em;
}

@keyframes ch-site-spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

img,
svg,
video,
canvas {
    max-width: 100%;
}

.chabad-body button,
.chabad-body input,
.chabad-body select,
.chabad-body textarea {
    font-family: inherit;
}

/* Campaign donate UI uses donate-general styles (one-to-one with /donate) */

.chabad-body h1,
.chabad-body h2,
.chabad-body h3,
.chabad-body h4 {
    letter-spacing: -0.02em;
}

.chabad-body .btn {
    font-weight: 700;
}

.chabad-body .form-control,
.chabad-body .form-select {
    font-weight: 600;
}

.chabad-body > main {
    flex: 1 0 auto;
}

.chabad-body > footer.chabad-footer {
    flex-shrink: 0;
}

.text-navy {
    color: var(--ch-navy) !important;
}

.brand-mark {
    width: 48px;
    height: 48px;
    background: linear-gradient(135deg, var(--ch-primary), #4dabf7);
    font-size: 1.25rem;
}

.brand-mark-sm {
    width: 44px;
    height: 44px;
    min-width: 44px;
    background: linear-gradient(135deg, var(--ch-primary), #4dabf7);
    font-size: 1.1rem;
}

.brand-mark-sm__img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.chabad-brand {
    gap: 0.55rem !important;
}

.chabad-brand__logo {
    width: 52px !important;
    height: 52px !important;
}

.chabad-brand__logo--fit {
    object-fit: contain;
}

.ch-flag-wrap {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 15px;
}

.ch-flag-code {
    position: absolute;
    inset: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 9px;
    line-height: 1;
    padding: 0;
}

.ch-flag-img {
    position: absolute;
    inset: 0;
    border-radius: 4px;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.12);
    border: 1px solid rgba(15, 23, 42, 0.10);
    object-fit: cover;
}

.chabad-brand__text {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    line-height: 1;
    text-align: left;
}

.chabad-brand__name {
    font-size: 1.15rem;
    font-weight: 900;
    letter-spacing: -0.02em;
    margin-bottom: 0;
}

.chabad-brand__tagline {
    font-weight: 800;
    display: block;
    line-height: 1;
    margin-top: -0.15rem;
}

[dir="rtl"] .chabad-brand__tagline {
    display: inline-block;
    transform: translateX(10px);
}

[dir="rtl"] .chabad-brand {
    
    flex-direction: row-reverse;
}

[dir="rtl"] .chabad-navbar .navbar-collapse {
    width: 100%;
}

@media (min-width: 992px) {
    [dir="rtl"] .chabad-navbar > .container,
    [dir="rtl"] .chabad-navbar .container {
        display: grid;
        grid-template-columns: auto 1fr auto;
        grid-template-areas: "actions nav brand";
        align-items: center;
        gap: 0.75rem;
        
        direction: ltr;
    }

    [dir="rtl"] .chabad-navbar .navbar-brand {
        grid-area: brand;
        justify-self: end;
        direction: rtl;
    }

    
    [dir="rtl"] .chabad-navbar #mainNav {
        display: contents !important;
    }

    [dir="rtl"] .chabad-mainnav__list {
        grid-area: nav;
        justify-content: center;
        margin-right: 0;
        margin-left: 0;
        direction: rtl;
    }

    [dir="rtl"] .chabad-nav-actions {
        grid-area: actions;
        justify-self: start;
        direction: rtl;
    }
}

@media (min-width: 992px) {
    [dir="ltr"] .chabad-navbar > .container,
    [dir="ltr"] .chabad-navbar .container {
        display: grid;
        grid-template-columns: auto 1fr auto;
        grid-template-areas: "brand nav actions";
        align-items: center;
        gap: 0.75rem;
        direction: ltr;
    }

    [dir="ltr"] .chabad-navbar .navbar-brand {
        grid-area: brand;
        justify-self: start;
    }

    [dir="ltr"] .chabad-navbar #mainNav {
        display: contents !important;
    }

    [dir="ltr"] .chabad-mainnav__list {
        grid-area: nav;
        direction: ltr;
        justify-content: center;
        margin: 0;
    }

    [dir="ltr"] .chabad-nav-actions {
        grid-area: actions;
        justify-self: end;
        direction: ltr;
    }
}

[dir="rtl"] .chabad-mainnav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    gap: 0.75rem;
}

[dir="rtl"] .chabad-nav-actions {
    flex: 0 0 auto;
    justify-content: flex-end;
}

[dir="rtl"] .chabad-mainnav__list {
    direction: rtl;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    margin: 0;
}

[dir="rtl"] .chabad-nav-actions {
    
    margin-left: 0;
    margin-right: 0;
}

[dir="rtl"] .chabad-navbar .navbar-nav .nav-link {
    text-align: right;
}

[dir="rtl"] .chabad-navbar .navbar-nav .nav-link.dropdown-toggle::after {
    
    margin: 0;
}

[dir="rtl"] .chabad-navbar .btn.dropdown-toggle::after {
    margin-inline-start: 0;
    margin-inline-end: 0;
}

[dir="rtl"] .chabad-navbar .chabad-lang-btn.dropdown-toggle::after {
    margin-inline-start: 0.35rem;
}

[dir="rtl"] .chabad-brand__text {
    align-items: flex-end;
    text-align: right;
}

.navbar .active-pill {
    background: var(--ch-primary);
    color: #fff !important;
}

.chabad-navbar .navbar-nav .nav-link {
    font-weight: 800;
    color: #0f172a;
}

.chabad-navbar .navbar-nav .nav-link.rounded-pill {
    border-radius: 0.5rem !important;
}

@media (max-width: 991.98px) {
    .chabad-navbar .container {
        display: flex;
        align-items: center;
        justify-content: space-between;
        flex-wrap: wrap;
        gap: 0.5rem;
        position: relative; 
    }

    .chabad-navbar .navbar-brand {
        order: 1;
    }

    .chabad-navbar .navbar-toggler {
        order: 2;
    }

    .chabad-navbar #mainNav {
        order: 3;
        width: 100%;
    }

    .chabad-mainnav {
        display: block;
    }

    .chabad-mainnav__list {
        width: 100%;
        padding-top: 0.5rem;
        padding-bottom: 0.5rem;
        margin: 0 !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 0.25rem;
        order: 1;
    }

    .chabad-nav-actions {
        width: 100%;
        padding-bottom: 0.75rem;
        
        justify-content: flex-start;
        gap: 0.5rem;
        order: 2;
        flex-wrap: wrap;
    }

    [dir="rtl"] .chabad-nav-actions {
        justify-content: flex-end; 
    }

    
    .chabad-navbar .navbar-collapse {
        
        position: absolute;
        top: 100%;
        inset-inline-start: 0;
        inset-inline-end: 0;
        width: 100%;
        z-index: 1050;
        background: #ffffff;
        border: 1px solid rgba(226, 232, 240, 0.95);
        border-radius: 0;
        box-shadow: 0 18px 45px rgba(15, 23, 42, 0.16);
        padding: 0.85rem;
        overflow: auto;

        display: flex; 
        flex-direction: column;
        align-items: stretch;
        gap: 0.35rem;

        max-height: 0;
        opacity: 0;
        transform: translateY(-10px);
        pointer-events: none;
        transition: max-height 220ms ease, opacity 160ms ease, transform 220ms ease;
    }

    .chabad-navbar .navbar-collapse.show {
        max-height: min(70vh, 520px);
        opacity: 1;
        transform: translateY(0);
        pointer-events: auto;
    }

    
    body.chabad-nav-open::before {
        content: "";
        position: fixed;
        inset: 0;
        z-index: 1040;
        background: rgba(2, 6, 23, 0.18);
        backdrop-filter: blur(8px);
        -webkit-backdrop-filter: blur(8px);
    }

    body.chabad-nav-open {
        overflow: hidden;
    }

    
    .chabad-burger {
        width: 46px;
        height: 46px;
        border-radius: 0.9rem;
        border: 2px solid rgba(226, 232, 240, 0.95);
        background: #ffffff;
        box-shadow: 0 12px 28px rgba(15, 23, 42, 0.10);
        padding: 0;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    .chabad-burger:focus {
        box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.18);
    }

    .chabad-burger__lines {
        width: 22px;
        display: grid;
        gap: 5px;
    }

    .chabad-burger__lines > span {
        height: 3px;
        border-radius: 999px;
        background: #0f172a;
        opacity: 0.9;
        transition: transform 180ms ease, opacity 180ms ease;
    }

    
    .chabad-burger[aria-expanded="true"] .chabad-burger__lines > span:nth-child(1) {
        transform: translateY(8px) rotate(45deg);
    }
    .chabad-burger[aria-expanded="true"] .chabad-burger__lines > span:nth-child(2) {
        opacity: 0;
    }
    .chabad-burger[aria-expanded="true"] .chabad-burger__lines > span:nth-child(3) {
        transform: translateY(-8px) rotate(-45deg);
    }

    .chabad-navbar .navbar-nav .nav-link {
        width: 100%;
        justify-content: space-between;
        padding: 0.75rem 0.9rem;
    }

    
    .chabad-navbar .navbar-nav .dropdown-menu {
        position: static !important;
        float: none !important;
        transform: none !important;
        box-shadow: none !important;
        border: 0 !important;
        padding: 0.25rem 0 0.5rem;
        margin: 0;
    }

    .chabad-navbar .navbar-nav .dropdown-item {
        padding: 0.65rem 0.9rem;
    }

    
    .chabad-nav-actions .btn {
        flex: 0 0 auto;
    }
}

.chabad-navbar .navbar-nav .nav-link:hover {
    background: rgba(13, 110, 253, 0.08);
}

.chabad-navbar .navbar-nav .nav-link.dropdown-toggle::after {
    
    margin: 0;
    opacity: 0.6;
    transform: translateY(1px);
}

.chabad-navbar .navbar-nav .nav-link.dropdown-toggle {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
}

.chabad-nav-dropdown.dropdown-menu {
    border-radius: 1.25rem;
    padding: 0.5rem;
    min-width: 260px;
    box-shadow: 0 18px 48px rgba(15, 23, 42, 0.14);
}

[dir="rtl"] .chabad-nav-dropdown.dropdown-menu {
    text-align: right;
}

.chabad-nav-dropdown .dropdown-item {
    border-radius: 1rem;
    padding: 0.7rem 0.9rem;
    font-weight: 800;
    color: #0f172a;
}

.chabad-nav-dropdown .dropdown-item i {
    font-size: 1.05rem;
    width: 1.25rem;
    text-align: center;
}

.chabad-nav-dropdown .dropdown-item:hover,
.chabad-nav-dropdown .dropdown-item:focus {
    background: rgba(37, 99, 235, 0.08);
}

.chabad-lang-btn {
    background: #fff;
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.10);
    
    padding-inline: 0.45rem;
    padding-block: 0.28rem;
    font-size: 0.88rem;
    line-height: 1;
    min-width: 92px;
    gap: 0.35rem !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.chabad-lang-btn > .fw-semibold {
    display: inline-block;
    min-width: 2.1ch;
    text-align: center;
}

.chabad-nav-actions .btn {
    
    height: 42px;
    display: inline-flex;
    align-items: center;
}

.chabad-lang-dropdown.dropdown-menu {
    
    min-width: 0;
    width: max-content;
    max-width: min(92vw, 210px);
    padding: 0.2rem;
    border-radius: 0.95rem;
}

.chabad-lang-dropdown .dropdown-item {
    white-space: nowrap;
    padding: 0.45rem 0.6rem;
    font-size: 0.9rem;
    font-weight: 700;
    gap: 0.45rem !important;
}

.lang-flag {
    width: 1.0rem;
    height: 1.0rem;
    border-radius: 999px;
    display: inline-block;
    background-size: cover;
    background-position: center;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.12);
    border: 1px solid rgba(15, 23, 42, 0.10);
    flex: 0 0 auto;
}

.lang-flag--il {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Crect width='64' height='64' fill='%23ffffff'/%3E%3Crect y='10' width='64' height='10' fill='%23005bbb'/%3E%3Crect y='44' width='64' height='10' fill='%23005bbb'/%3E%3Cpath d='M32 20l8.5 14.7H23.5L32 20zm0 24L23.5 29.3h17L32 44z' fill='%23005bbb'/%3E%3C/svg%3E");
}
.lang-flag--fr {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Crect width='21.34' height='64' x='0' fill='%23005bbb'/%3E%3Crect width='21.34' height='64' x='21.33' fill='%23ffffff'/%3E%3Crect width='21.34' height='64' x='42.66' fill='%23ef4444'/%3E%3C/svg%3E");
}
.lang-flag--gb {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Crect width='64' height='64' fill='%230b3d91'/%3E%3Cpath d='M0 0l64 64M64 0L0 64' stroke='%23ffffff' stroke-width='14'/%3E%3Cpath d='M0 0l64 64M64 0L0 64' stroke='%23ef4444' stroke-width='8'/%3E%3Cpath d='M32 0v64M0 32h64' stroke='%23ffffff' stroke-width='22'/%3E%3Cpath d='M32 0v64M0 32h64' stroke='%23ef4444' stroke-width='12'/%3E%3C/svg%3E");
}

.hero-carousel {
    height: min(68vh, 560px);
    min-height: 360px;
    width: 100%;
}

.hero-carousel > .carousel {
    height: 100%;
}

.hero-slide-bg {
    height: 100%;
    background-size: cover;
    background-position: center;
}

.hero-carousel .carousel-inner,
.hero-carousel .carousel-item {
    height: 100%;
    min-height: 0;
}

.hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(rgba(5, 20, 48, 0.35), rgba(5, 20, 48, 0.55));
    z-index: 1;
    pointer-events: none;
}

.hero-carousel .carousel-inner .carousel-item > div:first-child {
    filter: brightness(0.95);
}

.hero-carousel .carousel-control-prev,
.hero-carousel .carousel-control-next {
    z-index: 2;
    width: 8%;
    opacity: 0.7;
}

.hero-carousel .carousel-indicators {
    z-index: 2;
}

.hero-carousel .carousel-indicators [data-bs-target] {
    width: 10px;
    height: 10px;
    border-radius: 50%;
}

.service-card {
    min-height: 200px;
}

.service-card-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    z-index: 0;
}

.service-card::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    opacity: 0.88;
    mix-blend-mode: multiply;
}

.grad-orange::before {
    background: linear-gradient(135deg, #ff7a2e, #ff5722);
}
.grad-green::before {
    background: linear-gradient(135deg, #22c55e, #15803d);
}
.grad-teal::before {
    background: linear-gradient(135deg, #14b8a6, #0d9488);
}
.grad-purple::before {
    background: linear-gradient(135deg, #a855f7, #7c3aed);
}
.grad-red::before {
    background: linear-gradient(135deg, #f87171, #dc2626);
}
.grad-pink::before {
    background: linear-gradient(135deg, #ec4899, #db2777);
}
.grad-lightblue::before {
    background: linear-gradient(135deg, #38bdf8, #2563eb);
}
.grad-darkblue::before {
    background: linear-gradient(135deg, #1e3a8a, #172554);
}

.service-card-body,
.service-card-icon {
    z-index: 2;
}

.service-card-icon {
    width: 44px;
    height: 44px;
    font-size: 1.25rem;
}

.stats-bar {
    background: var(--ch-stats-bg);
}

.purple-banner {
    background: linear-gradient(120deg, #8a4fff 0%, #6d28d9 100%);
}

.text-purple {
    color: #6d28d9 !important;
}

.pill-nav {
    border: none;
    font-weight: 700;
    font-size: 0.9rem;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.2);
    transition:
        transform 0.18s ease,
        box-shadow 0.18s ease,
        filter 0.18s ease;
}
.pill-nav:hover,
.pill-nav:focus-visible {
    color: #fff !important;
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.26);
    filter: brightness(1.04);
}

.ch-fixed-pills {
    position: fixed;
    top: 50%;
    transform: translateY(-50%);
    inset-inline-end: 1rem;
    z-index: 1070; 
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    align-items: flex-end;
    max-width: min(70vw, 240px);
}

.ch-fixed-pills .pill-nav {
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.18);
    white-space: nowrap;
}

@media (max-width: 991.98px) {
    .ch-fixed-pills {
        top: auto;
        bottom: calc(5.25rem + env(safe-area-inset-bottom, 0px));
        transform: none;
        inset-inline-end: 0.85rem;
    }
}

@media (max-width: 575.98px) {
    .ch-fixed-pills {
        display: none;
    }
}

.pill-purple {
    background: linear-gradient(135deg, #a855f7, #7c3aed);
}
.pill-teal {
    background: linear-gradient(135deg, #2dd4bf, #0d9488);
}
.pill-green {
    background: linear-gradient(135deg, #4ade80, #16a34a);
}
.pill-orange {
    background: linear-gradient(135deg, #fb923c, #ea580c);
}
.pill-blue {
    background: linear-gradient(135deg, #60a5fa, #2563eb);
}

.pill-darkblue {
    background: linear-gradient(135deg, #1e3a8a, #172554);
}

.ch-reveal {
    opacity: 0;
    transform: translate3d(0, 14px, 0);
    transition: transform 620ms cubic-bezier(0.22, 1, 0.36, 1), opacity 520ms ease;
    will-change: transform, opacity;
}

.ch-reveal.is-visible {
    opacity: 1;
    transform: none;
}

.ch-reveal[data-reveal="fade"] {
    transform: none;
}

.ch-reveal[data-reveal="zoom"] {
    transform: scale(0.985);
}

.ch-reveal[data-reveal="zoom"].is-visible {
    transform: none;
}

@media (prefers-reduced-motion: reduce) {
    .ch-reveal,
    .ch-reveal.is-visible {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}

.orange-cta {
    background: linear-gradient(90deg, #ff8c42, #e85d04);
}

.btn-admin-primary {
    background: linear-gradient(90deg, #ff8c42, #e85d04);
    border: none;
    color: #ffffff !important;
    box-shadow: 0 8px 18px rgba(232, 93, 4, 0.22);
}

.btn-admin-primary:hover {
    filter: brightness(1.05);
    color: #ffffff !important;
}

.btn-admin-primary:disabled {
    opacity: 0.55;
    filter: grayscale(0.2);
}

.text-orange {
    color: #c2410c !important;
}

.bg-purple-soft {
    background: rgba(138, 79, 255, 0.12) !important;
}

.text-purple-emphasis {
    color: #7c3aed;
}

.text-purple {
    color: #7c3aed !important;
}

.btn-outline-purple {
    border-color: #9333ea;
    color: #7c3aed;
}
.btn-outline-purple:hover {
    background: #7c3aed;
    color: #fff;
    border-color: #7c3aed;
}

.bg-green-soft {
    background: rgba(22, 163, 74, 0.14) !important;
}

.text-green-shop {
    color: #15803d !important;
}

.btn-outline-green {
    border-color: #22c55e;
    color: #15803d;
}
.btn-outline-green:hover {
    background: #16a34a;
    color: #fff;
    border-color: #16a34a;
}

.kosher-product-card,
.kosher-shop-card {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.kosher-product-card:hover,
.kosher-shop-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 0.75rem 1.5rem rgba(15, 118, 110, 0.15) !important;
}

.bg-mint {
    background: #f4fdfa !important;
}

.campaign-section {
    
    position: relative;
    overflow: hidden;
    background: linear-gradient(180deg, #06142b 0%, #0a2346 55%, #051327 100%);
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    isolation: isolate; 
}

.campaign-section::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 0; 
    pointer-events: none;
    background:
        
        radial-gradient(circle at 10% 25%, rgba(255, 255, 255, 0.22) 0 1px, transparent 2px 18px),
        radial-gradient(circle at 40% 15%, rgba(255, 255, 255, 0.16) 0 1px, transparent 2px 22px),
        radial-gradient(circle at 70% 30%, rgba(255, 255, 255, 0.14) 0 1px, transparent 2px 20px),
        radial-gradient(circle at 85% 55%, rgba(255, 255, 255, 0.12) 0 1px, transparent 2px 26px),
        
        radial-gradient(620px 320px at 18% 30%, rgba(245, 158, 11, 0.28) 0%, rgba(245, 158, 11, 0) 60%),
        radial-gradient(680px 360px at 86% 22%, rgba(59, 130, 246, 0.28) 0%, rgba(59, 130, 246, 0) 58%),
        radial-gradient(560px 300px at 55% 95%, rgba(20, 184, 166, 0.18) 0%, rgba(20, 184, 166, 0) 60%),
        
        radial-gradient(1200px 500px at 50% 0%, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.35) 72%, rgba(0, 0, 0, 0.55) 100%);
    opacity: 0.95;
}

.campaign-img {
    border-radius: var(--ch-radius);
    max-height: 420px;
    object-fit: cover;
    width: 100%;
}

.campaign-section .container {
    position: relative;
    z-index: 1; 
}

.btn-donate {
    background: linear-gradient(90deg, #2980b9, #3498db);
    border: none;
}
.btn-donate:hover {
    filter: brightness(1.05);
    color: #fff;
}

.donate-modal__content {
    border-radius: 1.25rem;
    background: #0b1220;
    color: #e2e8f0;
}

.donate-modal__bg {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(900px 420px at 18% 18%, rgba(245, 158, 11, 0.22) 0%, rgba(245, 158, 11, 0) 60%),
        radial-gradient(920px 480px at 88% 12%, rgba(59, 130, 246, 0.22) 0%, rgba(59, 130, 246, 0) 58%),
        radial-gradient(860px 460px at 50% 105%, rgba(20, 184, 166, 0.16) 0%, rgba(20, 184, 166, 0) 62%),
        linear-gradient(180deg, rgba(2, 6, 23, 0.15), rgba(2, 6, 23, 0.75));
    pointer-events: none;
    opacity: 1;
}

.donate-modal__header {
    padding: 1.25rem 1.25rem 0.75rem;
}

.donate-modal__topline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.donate-modal__brands {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    opacity: 0.95;
}

.donate-brand {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 28px;
    padding: 0 10px;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.16);
    color: rgba(255, 255, 255, 0.92);
    font-weight: 900;
    letter-spacing: 0.02em;
    font-size: 0.82rem;
    user-select: none;
}

.donate-brand--visa { color: #e0f2fe; }
.donate-brand--pp { color: #dbeafe; font-weight: 800; }
.donate-brand--mc { color: #fee2e2; font-weight: 800; }
.donate-brand--btc { color: #fde68a; font-weight: 800; }

.donate-modal__icon {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.14);
    border: 1px solid rgba(255, 255, 255, 0.16);
    box-shadow: 0 18px 44px rgba(2, 6, 23, 0.35);
    color: #fff;
    font-size: 1.25rem;
}

.donate-modal__close {
    position: absolute;
    inset-inline-end: 18px;
    top: 18px;
    opacity: 0.85;
}
.donate-modal__close:hover { opacity: 1; }

.donate-modal__badge {
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.16);
    color: rgba(255, 255, 255, 0.92);
    font-weight: 700;
}
.donate-modal__badge2 {
    background: rgba(34, 197, 94, 0.16);
    border: 1px solid rgba(34, 197, 94, 0.22);
    color: rgba(187, 247, 208, 0.95);
    font-weight: 800;
}

.donate-modal__body {
    padding: 1rem 1.25rem 1.25rem;
}

.donate-modal__app {
    display: grid;
    grid-template-columns: 0.95fr 1.05fr;
    gap: 1.25rem;
    align-items: stretch;
}

.donate-app__left {
    border-radius: 1.25rem;
    overflow: hidden;
    position: relative;
    background: linear-gradient(180deg, #0b3a67 0%, #0f172a 60%, #0b1220 100%);
    border: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow: 0 26px 80px rgba(2, 6, 23, 0.52);
}
.donate-app__left::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(780px 460px at 25% 18%, rgba(56, 189, 248, 0.26) 0%, rgba(56, 189, 248, 0) 62%),
        radial-gradient(640px 420px at 95% 10%, rgba(245, 158, 11, 0.20) 0%, rgba(245, 158, 11, 0) 62%),
        radial-gradient(820px 520px at 70% 110%, rgba(34, 197, 94, 0.14) 0%, rgba(34, 197, 94, 0) 58%);
    pointer-events: none;
}
.donate-app__leftInner {
    position: relative;
    padding: 1.35rem 1.25rem;
    min-height: 100%;
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
    color: rgba(255, 255, 255, 0.92);
}
.donate-app__brand {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-weight: 900;
    letter-spacing: -0.01em;
}
.donate-app__brandDot {
    width: 12px;
    height: 12px;
    border-radius: 999px;
    background: #22c55e;
    box-shadow: 0 0 0 4px rgba(34, 197, 94, 0.14);
}
.donate-app__amountLabel {
    margin-top: 0.35rem;
    color: rgba(226, 232, 240, 0.86);
    font-weight: 700;
}
.donate-app__amountValue {
    font-weight: 900;
    font-size: 2.35rem;
    letter-spacing: -0.03em;
    color: #fff;
}
.donate-app__cur {
    opacity: 0.92;
    margin-inline-end: 0.25rem;
    font-size: 1.65rem;
    font-weight: 900;
}
.donate-app__summaryCard {
    margin-top: 0.45rem;
    background: rgba(255, 255, 255, 0.10);
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 1.1rem;
    padding: 0.95rem;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}
.donate-app__sumRow {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}
.donate-app__thumb {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.14);
    border: 1px solid rgba(255, 255, 255, 0.16);
    color: #fff;
    flex-shrink: 0;
}
.donate-app__sumTitle {
    font-weight: 900;
    color: rgba(255, 255, 255, 0.95);
    letter-spacing: -0.01em;
}
.donate-app__sumSub {
    font-size: 0.88rem;
    color: rgba(226, 232, 240, 0.80);
}
.donate-app__sumPrice {
    font-weight: 900;
    color: rgba(255, 255, 255, 0.96);
    white-space: nowrap;
}
.donate-app__divider {
    height: 1px;
    background: rgba(255, 255, 255, 0.14);
    margin: 0.9rem 0;
}
.donate-app__totRow {
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: rgba(255, 255, 255, 0.92);
}
.donate-app__powered {
    margin-top: auto;
    color: rgba(226, 232, 240, 0.75);
}

.donate-app__right {
    background: rgba(255, 255, 255, 0.97);
    border: 1px solid rgba(226, 232, 240, 0.9);
    border-radius: 1.25rem;
    box-shadow: 0 26px 80px rgba(2, 6, 23, 0.35);
    overflow: hidden;
    color: #0f172a;
}
.donate-app__rightInner {
    padding: 1.1rem 1.15rem 1.15rem;
}
.donate-app__toggle {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem;
}
.donate-app__toggleBtn {
    border: 1px solid rgba(203, 213, 225, 0.85);
    background: #fff;
    border-radius: 14px;
    padding: 0.6rem 0.7rem;
    font-weight: 900;
    color: #0f172a;
    transition: transform .12s ease, box-shadow .12s ease, background .12s ease, border-color .12s ease;
}
.donate-app__toggleBtn:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 32px rgba(2, 6, 23, 0.10);
}
.donate-app__toggleBtn.is-active {
    background: linear-gradient(135deg, rgba(13, 148, 136, 0.14), rgba(59, 130, 246, 0.10));
    border-color: rgba(13, 148, 136, 0.32);
}

.donate-app__amtBtn {
    border-radius: 999px;
    border: 2px solid rgba(59, 130, 246, 0.18);
    background: #fff;
    color: #0f172a;
    font-weight: 900;
    padding: 0.5rem 0.9rem;
    transition: transform 0.15s ease, box-shadow 0.2s ease, border-color 0.2s ease, background 0.2s ease;
    box-shadow: 0 10px 26px rgba(2, 6, 23, 0.06);
}
.donate-app__amtBtn:hover {
    transform: translateY(-1px);
    background: #f8fafc;
    border-color: rgba(13, 148, 136, 0.30);
    box-shadow: 0 16px 40px rgba(2, 6, 23, 0.10);
}

.donate-app__amountRow {
    display: grid;
    grid-template-columns: 56px 1fr;
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid rgba(203, 213, 225, 0.9);
    background: #fff;
    box-shadow: 0 16px 42px rgba(2, 6, 23, 0.09);
}
.donate-app__curBox {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    color: #0f172a;
    background: rgba(241, 245, 249, 0.9);
}
.donate-app__amountInput {
    border: 0 !important;
    box-shadow: none !important;
    font-weight: 800;
    padding-top: 0.85rem;
    padding-bottom: 0.85rem;
}

.donate-app__payBtn {
    border: 0;
    border-radius: 16px;
    padding: 0.95rem 1rem;
    font-weight: 900;
    color: #fff;
    background: linear-gradient(90deg, #7c3aed, #a855f7);
    box-shadow: 0 22px 66px rgba(124, 58, 237, 0.32);
    transition: transform .12s ease, filter .12s ease, box-shadow .12s ease;
}
.donate-app__payBtn:hover {
    transform: translateY(-1px);
    filter: brightness(1.03);
    box-shadow: 0 26px 78px rgba(124, 58, 237, 0.38);
}

.donate-modal__productCard {
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid rgba(226, 232, 240, 0.9);
    border-radius: 1.25rem;
    overflow: hidden;
    box-shadow: 0 24px 70px rgba(2, 6, 23, 0.45);
    color: #0f172a;
    display: flex;
    flex-direction: column;
}

.donate-modal__productImgWrap {
    background: linear-gradient(135deg, rgba(15, 23, 42, 0.06), rgba(15, 23, 42, 0.02));
    padding: 1.1rem;
}

.donate-modal__productImg {
    width: 100%;
    height: 260px;
    object-fit: cover;
    border-radius: 1rem;
    box-shadow: 0 18px 50px rgba(2, 6, 23, 0.18);
}

.donate-modal__productImgPlaceholder {
    width: 100%;
    height: 260px;
    border-radius: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    color: rgba(2, 6, 23, 0.55);
    background: rgba(2, 6, 23, 0.05);
    border: 1px dashed rgba(2, 6, 23, 0.18);
}

.donate-modal__productBody {
    padding: 1.1rem 1.2rem 1.2rem;
}

.donate-modal__productTitle {
    font-weight: 900;
    color: #0f172a;
    letter-spacing: -0.01em;
}

.donate-modal__productSub {
    color: #475569;
    margin-top: 0.2rem;
    font-weight: 700;
}

.donate-modal__productPrice {
    margin-top: 0.9rem;
    font-weight: 900;
    font-size: 2rem;
    color: #0b66ff;
    letter-spacing: -0.02em;
    display: flex;
    align-items: baseline;
    gap: 0.35rem;
}

.donate-modal__cur {
    font-size: 1.3rem;
    color: #0b66ff;
    opacity: 0.9;
}

.donate-modal__productNote {
    margin-top: 0.6rem;
    color: #64748b;
    font-size: 0.9rem;
}

/* Stripe-like full checkout page */
.stripe-checkout-page {
    background: linear-gradient(180deg, #f8fafc 0%, #ffffff 65%, #f1f5f9 100%);
}

.donate-pay-container {
    max-width: 1120px;
}

.stripe-checkout-shell {
    background: #fff;
    border: 1px solid rgba(226, 232, 240, 0.9);
}

.stripe-checkout-left {
    background: #0f766e;
    color: #e6fffb;
    position: relative;
    overflow: hidden;
}

.stripe-checkout-left::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(800px 420px at 20% 10%, rgba(255,255,255,0.14) 0%, rgba(255,255,255,0) 60%),
        radial-gradient(720px 420px at 100% 40%, rgba(255,255,255,0.10) 0%, rgba(255,255,255,0) 60%);
    opacity: 1;
    pointer-events: none;
}

.stripe-checkout-left__inner {
    position: relative;
    padding: 2rem 1.75rem;
    min-height: 100%;
}

.stripe-checkout-brand {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    font-weight: 800;
    opacity: 0.95;
}
.stripe-checkout-brand__dot {
    width: 12px;
    height: 12px;
    border-radius: 999px;
    background: rgba(255,255,255,0.85);
}

.stripe-checkout-amount {
    margin-top: 1.4rem;
}
.stripe-checkout-amount__label {
    font-size: 0.95rem;
    opacity: 0.9;
}
.stripe-checkout-amount__value {
    margin-top: 0.25rem;
    font-size: 2.4rem;
    font-weight: 900;
    letter-spacing: -0.02em;
}
.stripe-checkout-cur { opacity: 0.92; margin-inline-end: 0.2rem; }

.stripe-checkout-summary {
    margin-top: 1.25rem;
    background: rgba(255,255,255,0.92);
    border: 1px solid rgba(255,255,255,0.65);
}
.stripe-checkout-summary__thumb {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    background: rgba(15,118,110,0.16);
    border: 1px solid rgba(15,118,110,0.22);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #0f766e;
}

.stripe-checkout-foot {
    position: absolute;
    bottom: 18px;
    inset-inline-start: 18px;
    opacity: 0.85;
}

.stripe-checkout-right__inner {
    padding: 2rem 1.75rem;
}

.stripe-element-box {
    padding: 0.75rem 0.85rem;
    border: 1px solid rgba(226,232,240,0.95);
    border-radius: 12px;
    background: #fff;
}

.stripe-checkout-badges {
    margin-top: 0.75rem;
}
.stripe-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0.9rem;
    border-radius: 999px;
    font-weight: 900;
    font-size: 0.9rem;
    border: 1px solid rgba(226, 232, 240, 0.9);
    background: #fff;
    color: #0f172a;
    box-shadow: 0 10px 24px rgba(2, 6, 23, 0.08);
    user-select: none;
}
.stripe-badge i {
    font-size: 1.05rem;
    opacity: 0.95;
}
.stripe-badge--ssl {
    background: linear-gradient(135deg, rgba(34, 197, 94, 0.16), rgba(34, 197, 94, 0.06));
    border-color: rgba(34, 197, 94, 0.28);
    color: #065f46;
}
.stripe-badge--ssl i { color: #16a34a; }

.stripe-badge--stripe {
    background: linear-gradient(135deg, rgba(124, 58, 237, 0.16), rgba(59, 130, 246, 0.10));
    border-color: rgba(124, 58, 237, 0.26);
    color: #4c1d95;
}
.stripe-badge--stripe i { color: #7c3aed; }

.stripe-badge--wallet {
    background: linear-gradient(135deg, rgba(14, 165, 233, 0.14), rgba(59, 130, 246, 0.10));
    border-color: rgba(14, 165, 233, 0.24);
    color: #0c4a6e;
}
.stripe-badge--wallet i { color: #0284c7; }

@media (max-width: 991.98px) {
    .stripe-checkout-left__inner,
    .stripe-checkout-right__inner {
        padding: 1.25rem 1rem;
    }
    .stripe-checkout-foot { position: static; margin-top: 1.25rem; }
}

.donate-modal__card {
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid rgba(226, 232, 240, 0.9);
    border-radius: 1.25rem;
    padding: 1.25rem;
    box-shadow: 0 24px 70px rgba(2, 6, 23, 0.45);
    color: #0f172a;
}

.donate-modal__pill {
    border-radius: 999px;
    border: 2px solid rgba(59, 130, 246, 0.22);
    background: #fff;
    color: #1d4ed8;
    font-weight: 800;
    padding: 0.5rem 0.9rem;
    transition: transform 0.15s ease, background 0.2s ease, border-color 0.2s ease;
}
.donate-modal__pill:hover {
    transform: translateY(-1px);
    background: #eff6ff;
    border-color: rgba(29, 78, 216, 0.38);
}

.donate-modal__side {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

.donate-modal__sideCard {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 1.1rem;
    padding: 1rem 1.05rem;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.donate-modal__hint {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    border-radius: 999px;
    padding: 0.55rem 0.9rem;
    background: rgba(245, 158, 11, 0.16);
    border: 1px solid rgba(245, 158, 11, 0.22);
    color: rgba(254, 243, 199, 0.95);
    font-weight: 700;
}

.donate-modal__payBtn--loading {
    opacity: 0.85;
    pointer-events: none;
    position: relative;
}

.donate-modal__secureRow {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.donate-modal__securePill {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    border-radius: 999px;
    padding: 0.35rem 0.75rem;
    background: rgba(2, 6, 23, 0.04);
    border: 1px solid rgba(148, 163, 184, 0.28);
    color: #334155;
    font-weight: 800;
    font-size: 0.85rem;
}

.donate-modal__securePill i {
    color: #0b66ff;
}

/* Donate general page (1:1 style from provided screenshots) */
.donate-general {
    background: #fff;
    min-height: 100vh;
}
.donate-general__top {
    background: var(--ch-purple);
    color: #fff;
    padding: 1.25rem 0;
}
.donate-general__topInner {
    max-width: 920px;
    margin: 0 auto;
    padding: 0 16px;
    text-align: center;
}
.donate-general__title {
    margin: 0;
    font-weight: 900;
    font-size: clamp(1.6rem, 2.4vw, 2.2rem);
    letter-spacing: -0.01em;
}
.donate-general__wrap {
    padding: 2.2rem 0 3rem;
}
.donate-general__container {
    max-width: 920px;
    margin: 0 auto;
    padding: 0 16px;
    text-align: center;
}
.donate-general__lead {
    margin: 0 auto 1.6rem;
    max-width: 640px;
    color: #111827;
    font-size: 1.05rem;
}
.donate-general__flash { max-width: 720px; margin: 0 auto 1.25rem; }
.donate-general__card {
    max-width: 760px;
    margin: 0 auto;
    background: #fff;
    border-radius: 8px;
    padding: 1.25rem 1.15rem 1.4rem;
}
.donate-general__step { display: none; }
.donate-general__step--active { display: block; }

.donate-general__amountBtns {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
    margin: 1.2rem 0 1rem;
}
.dg-amt {
    min-width: 92px;
    height: 46px;
    border-radius: 6px;
    border: 1.6px solid #111827;
    background: #fff;
    font-weight: 800;
    color: #111827;
    transition: background .12s ease, color .12s ease, border-color .12s ease;
}
.dg-amt--active {
    background: var(--ch-teal);
    border-color: var(--ch-teal);
    color: #0b1220;
}
.dg-amt--currency {
    min-width: 54px;
    opacity: 1;
}

.donate-general__typeRow {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    max-width: 520px;
    margin: 0 auto 0.6rem;
}
.dg-type {
    height: 48px;
    border-radius: 6px;
    border: 1.6px solid #111827;
    background: #fff;
    font-weight: 800;
    color: #111827;
}
.dg-type--active {
    background: var(--ch-teal);
    border-color: var(--ch-teal);
}

.donate-general__otherRow {
    max-width: 520px;
    margin: 0 auto 0.9rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.donate-general__otherRow--hidden {
    display: none;
}

.pay-btn-disabled-soft {
    opacity: .85;
}
.donate-general__otherCur {
    width: 56px;
    height: 44px;
    border-radius: 8px;
    border: 1.6px solid #111827;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
}
.donate-general__otherInput {
    flex: 1;
    max-width: 420px;
    height: 44px;
    border-radius: 8px;
    border: 1.6px solid #111827;
    padding: 0 14px;
    font-weight: 800;
    outline: none;
}

/* Monthly is a simple toggle only (no months selector) */

.donate-general__typeNote {
    color: #111827;
    font-size: 0.95rem;
    margin: 0.35rem 0 1rem;
}

.donate-general__noteBox {
    max-width: 640px;
    margin: 0 auto 1.2rem;
}
.donate-general__textarea {
    width: 100%;
    min-height: 140px;
    border-radius: 10px;
    border: 1.6px solid #111827;
    padding: 14px 16px;
    font-size: 1rem;
    resize: vertical;
    outline: none;
}

.donate-general__primary {
    width: min(640px, 100%);
    height: 56px;
    border-radius: 28px;
    border: 0;
    background: var(--ch-purple);
    color: #fff;
    font-weight: 900;
    font-size: 1.05rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}
.donate-general__primary:hover { filter: brightness(1.03); }
.dg-arrow { font-size: 1.25rem; line-height: 1; }

.donate-general__footer {
    margin-top: 1.35rem;
    color: #111827;
    font-size: 0.9rem;
}
.donate-general__phone { margin-top: 0.25rem; }
.donate-general__phone a { color: #111827; text-decoration: underline; }

/* Step 2 form */
.donate-general__step2Sub {
    margin: 0.6rem 0 1rem;
    color: #111827;
    font-size: 0.95rem;
}
.donate-general__form {
    max-width: 620px;
    margin: 0 auto;
    text-align: start;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.donate-general__input {
    height: 44px;
    border-radius: 8px;
    border: 1.6px solid #111827;
    padding: 0 14px;
    outline: none;
    font-weight: 600;
}
.donate-general__receiptTitle {
    margin-top: 8px;
    font-weight: 700;
    color: #111827;
    font-size: 0.95rem;
}
.donate-general__small {
    color: #111827;
    font-size: 0.82rem;
    line-height: 1.35;
    text-align: center;
    margin-top: 6px;
}
.donate-general__check {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #111827;
    font-weight: 600;
}
.donate-general__check a { color: #8f1b8f; text-decoration: underline; }
.donate-general__actions {
    display: flex;
    gap: 12px;
    justify-content: space-between;
    margin-top: 10px;
}
.donate-general__back {
    flex: 1;
    height: 46px;
    border-radius: 23px;
    border: 1.6px solid var(--ch-purple);
    background: #fff;
    color: var(--ch-purple);
    font-weight: 900;
}
.donate-general__next {
    flex: 1;
    height: 46px;
    border-radius: 23px;
    border: 1.6px solid var(--ch-purple);
    background: #fff;
    color: var(--ch-purple);
    font-weight: 900;
}
.donate-general__next:disabled { opacity: 0.6; }

/* Bangkok-style campaign page */
.bkk-campaign { background: #0b1220; }
.bkk-hero { position: relative; min-height: 520px; display: flex; align-items: center; }
.bkk-hero__bg {
    position: absolute; inset: 0;
    background: #0b1220;
    background-size: cover;
    background-position: center;
    filter: saturate(1.05) contrast(1.05);
}
.bkk-hero__overlay {
    position: absolute; inset: 0;
    background: radial-gradient(1200px 520px at 50% 25%, rgba(255,255,255,0.10) 0%, rgba(255,255,255,0) 55%),
                linear-gradient(90deg, rgba(2,6,23,0.78), rgba(2,6,23,0.62) 45%, rgba(2,6,23,0.84));
}
.bkk-hero__inner { position: relative; padding: 3.2rem 0 2.6rem; color: #fff; max-width: 980px; }
.bkk-hero__kicker { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 12px; }
.bkk-pill {
    display: inline-flex; align-items: center; justify-content: center;
    padding: 6px 12px; border-radius: 999px;
    background: rgba(255,255,255,0.16);
    border: 1px solid rgba(255,255,255,0.20);
    font-weight: 800; font-size: 0.9rem;
}
.bkk-pill--ghost { background: rgba(255,255,255,0.08); }
.bkk-hero__title { font-weight: 900; letter-spacing: -0.02em; font-size: clamp(2.0rem, 3.2vw, 3.0rem); margin: 0 0 10px; }
.bkk-hero__sub { color: rgba(226,232,240,0.86); max-width: 820px; font-size: 1.05rem; line-height: 1.6; margin: 0 0 18px; }
.bkk-hero__actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 10px; }
.bkk-heroBtn {
    height: 40px;
    padding: 0 16px;
    border-radius: 999px;
    border: 0;
    background: var(--ch-purple);
    color: #fff;
    font-weight: 900;
    box-shadow: 0 14px 36px rgba(138, 79, 255, 0.26);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.bkk-heroBtn--ghost {
    background: rgba(255,255,255,0.10);
    border: 1px solid rgba(255,255,255,0.18);
    box-shadow: none;
}

.bkk-progressCard {
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.14);
    border-radius: 18px;
    padding: 14px 16px;
    max-width: 860px;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}
.bkk-progressCard__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.bkk-progressCard__meters { font-weight: 900; font-size: 1.15rem; }
.bkk-progressCard__goal { color: rgba(226,232,240,0.86); margin-top: 2px; }
.bkk-progressCard__pct { font-weight: 900; font-size: 1.1rem; color: #38bdf8; }
.bkk-progressCard .muted { color: rgba(226,232,240,0.76); font-weight: 700; }
.bkk-bar { margin-top: 12px; height: 10px; border-radius: 999px; background: rgba(255,255,255,0.16); overflow: hidden; }
.bkk-bar__fill { height: 100%; border-radius: 999px; background: linear-gradient(90deg, #f59e0b, #fbbf24); }
.bkk-progressCard__hint { margin-top: 10px; color: rgba(226,232,240,0.86); font-weight: 700; }

.bkk-widgetWrap { background: #ffffff; padding: 2.2rem 0 3.2rem; }
.bkk-widget {
    max-width: 980px;
    margin: 0 auto;
    background: #fff;
    border-radius: 18px;
    border: 1px solid rgba(226,232,240,0.95);
    box-shadow: 0 30px 90px rgba(2,6,23,0.18);
    padding: 14px 14px 18px;
}
.bkk-widget__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding: 6px 6px 12px; }
.bkk-currency { display: inline-flex; gap: 8px; }
.bkk-currency__btn {
    width: 42px; height: 34px;
    display: inline-flex; align-items: center; justify-content: center;
    border-radius: 10px;
    border: 1px solid rgba(15,23,42,0.18);
    background: #fff;
    color: #0f172a;
    font-weight: 900;
    text-decoration: none;
}
.bkk-currency__btn.is-active { background: #0f172a; color: #fff; border-color: #0f172a; }
.bkk-link { color: #0f172a; font-weight: 800; text-decoration: underline; }

.bkk-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    padding: 8px 6px 6px;
}
.bkk-pack {
    border-radius: 16px;
    border: 1px solid rgba(15,23,42,0.14);
    background: #fff;
    padding: 14px 14px 12px;
    text-align: start;
    transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}
.bkk-pack:hover { transform: translateY(-1px); box-shadow: 0 18px 46px rgba(2,6,23,0.10); }
.bkk-pack.is-active { border-color: rgba(13,148,136,0.45); box-shadow: 0 18px 46px rgba(13,148,136,0.12); }
.bkk-pack__title { font-weight: 900; color: #0f172a; }
.bkk-pack__sub { color: #475569; font-weight: 700; margin-top: 4px; }
.bkk-pack__price { margin-top: 10px; font-weight: 900; color: #0f172a; font-size: 1.15rem; }

.bkk-payplan { padding: 14px 6px 6px; }
.bkk-payplan__label { font-weight: 900; color: #0f172a; margin-bottom: 10px; }
.bkk-payplan__row { display: flex; flex-wrap: wrap; gap: 8px; }
.bkk-pillBtn {
    height: 34px;
    padding: 0 12px;
    border-radius: 999px;
    border: 1px solid rgba(15,23,42,0.18);
    background: #fff;
    font-weight: 900;
    color: #0f172a;
}
.bkk-pillBtn.is-active { background: #0f172a; color: #fff; border-color: #0f172a; }
.bkk-pillBtn.is-disabled { opacity: 0.55; cursor: not-allowed; }
.bkk-payplan__note { margin-top: 10px; color: #475569; font-weight: 700; font-size: 0.92rem; }

.bkk-form { padding: 8px 6px 0; }
.bkk-form__row { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 10px; }
.bkk-form__row--2 > * { flex: 1; min-width: 220px; }
.bkk-check { display: inline-flex; align-items: center; gap: 10px; color: #0f172a; font-weight: 800; }
.bkk-check input { transform: translateY(1px); }
.bkk-dedication { margin-top: 12px; }
.bkk-dedication__title { font-weight: 900; color: #0f172a; margin-bottom: 10px; }
.bkk-input {
    height: 44px;
    border-radius: 12px;
    border: 1px solid rgba(15,23,42,0.20);
    padding: 0 14px;
    outline: none;
    font-weight: 700;
    color: #0f172a;
}
.bkk-actions { margin-top: 16px; display: flex; justify-content: center; }
.bkk-actions--2 { justify-content: space-between; gap: 12px; }
.bkk-cta {
    width: min(520px, 100%);
    height: 46px;
    border-radius: 999px;
    border: 0;
    background: #0f172a;
    color: #fff;
    font-weight: 900;
}
.bkk-step2 { display: none; margin-top: 14px; padding-top: 14px; border-top: 1px solid rgba(226,232,240,0.9); }
.bkk-step2__note { color: #0f172a; font-weight: 900; margin-bottom: 8px; }
.bkk-back, .bkk-pay {
    flex: 1;
    height: 44px;
    border-radius: 999px;
    border: 1px solid rgba(124,58,237,0.45);
    background: #fff;
    color: #6d28d9;
    font-weight: 900;
}
.bkk-pay { border-color: rgba(124,58,237,0.65); }
.bkk-legal { margin-top: 10px; color: #475569; font-weight: 700; text-align: center; }

/* Donors wall (campaign) */
.bkk-donors { background: #f3f4f6; padding: 2.4rem 0 3.2rem; }
.bkk-donors__head { display:flex; align-items:flex-end; justify-content:space-between; gap:14px; flex-wrap:wrap; margin-bottom: 16px; }
.bkk-donors__title { font-weight: 900; color:#0f172a; font-size: 1.35rem; }
.bkk-donors__sub { color:#64748b; font-weight: 700; }
.bkk-donors__search { display:flex; gap:10px; align-items:center; }
.bkk-search {
    height: 40px;
    border-radius: 999px;
    border: 1px solid rgba(15,23,42,0.16);
    padding: 0 14px;
    min-width: min(320px, 78vw);
    outline: none;
    font-weight: 700;
}
.bkk-searchBtn {
    width: 40px;
    height: 40px;
    border-radius: 999px;
    border: 0;
    background: #fff;
    box-shadow: 0 12px 28px rgba(2,6,23,0.10);
}
.bkk-donorsGrid { display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; }
.bkk-donorCard {
    position: relative;
    background: #fff;
    border: 1px solid rgba(226,232,240,0.95);
    border-radius: 16px;
    padding: 14px 14px 16px;
    box-shadow: 0 16px 40px rgba(2,6,23,0.08);
    min-height: 108px;
}
.bkk-donorCard__amt { font-weight: 900; color:#0f172a; }
.bkk-donorCard__name { margin-top: 6px; font-weight: 900; color:#0f172a; }
.bkk-donorCard__meta { margin-top: 6px; color:#94a3b8; font-weight: 700; font-size: 0.9rem; }
.bkk-donorCard__avatar {
    position:absolute;
    top: 14px;
    inset-inline-end: 14px;
    width: 36px;
    height: 36px;
    border-radius: 999px;
    background: rgba(138,79,255,0.14);
    border: 1px solid rgba(138,79,255,0.22);
    color: #5b21b6;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight: 900;
}
.bkk-donors__more { display:flex; justify-content:center; margin-top: 18px; }
.bkk-moreBtn {
    height: 42px;
    padding: 0 26px;
    border-radius: 999px;
    background: rgba(15,23,42,0.06);
    border: 1px solid rgba(15,23,42,0.12);
    color: #0f172a;
    font-weight: 900;
    text-decoration:none;
}
.bkk-moreBtn:hover { background: rgba(15,23,42,0.09); }

@media (max-width: 991.98px) {
    .bkk-hero__inner { padding: 2.4rem 0 2rem; }
    .bkk-grid { grid-template-columns: 1fr; }
    .bkk-donorsGrid { grid-template-columns: 1fr; }
}

/* Charidy-style campaign (one-to-one layout) */
.bkk-campaign--charidy {
    --campaign-maroon: var(--ch-purple);
    --campaign-tan: rgba(148, 163, 184, 0.25);
    --campaign-sticky-h: 5.5rem;
    background: #f6f7fb;
    padding-bottom: calc(var(--campaign-sticky-h) + env(safe-area-inset-bottom, 0px));
}
.bkk-campaign--charidy .chabad-navbar,
.bkk-campaign--charidy + .chabad-footer {
    display: none !important;
}
/* הצ'אט מחוץ ל-main — מרימים אותו מעל פוטר הפעולות הצף בקמפיין */
body:has(main.bkk-campaign--charidy) .ch-chat-launcher.position-fixed {
    bottom: calc(5.25rem + env(safe-area-inset-bottom, 0px)) !important;
}

.campaign-container-narrow {
    max-width: 860px;
}

.charidy-hero {
    position: relative;
    height: clamp(360px, 52vh, 560px);
    background: #0b1220;
    overflow: hidden;
}
.charidy-hero__bg{
    position:absolute;
    inset:0;
    background-size: cover;
    background-position:center;
    filter: saturate(1.05) contrast(1.05) brightness(0.9);
    transform: none;
    opacity: 1;
}

.charidy-hero__bg-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.charidy-hero__frame{
    position:absolute;
    inset: 0;
    z-index: 1;
    display:flex;
    align-items:center;
    justify-content:center;
    padding: 0;
}
.charidy-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(900px 420px at 50% 35%, rgba(255,255,255,0.08) 0%, rgba(255,255,255,0) 55%),
        linear-gradient(90deg, rgba(2,6,23,0.62), rgba(2,6,23,0.24) 55%, rgba(2,6,23,0.62));
    pointer-events: none;
    z-index: 2;
}
.charidy-hero__imgTag {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
.charidy-hero__img { position:absolute; inset:0; background:#eee; }
.charidy-hero__top { position:absolute; inset: 14px 14px auto 14px; display:flex; align-items:center; justify-content:flex-start; z-index: 2; }
.charidy-hero__logo { width: 52px; height: 52px; border-radius: 999px; background: rgba(255,255,255,0.75); display:flex; align-items:center; justify-content:center; overflow:hidden; border:1px solid rgba(0,0,0,0.08); }
.charidy-hero__logo img { width:100%; height:100%; object-fit: contain; }
.charidy-hero__logoFallback { font-weight:900; color:#0f172a; }

.charidy-strip { background: var(--campaign-maroon); color:#fff; }
.charidy-strip__inner { padding: 22px 16px; text-align:center; }
.charidy-strip__kicker { opacity: 0.9; font-weight: 800; font-size: 0.95rem; }
.charidy-strip__title { font-weight: 900; font-size: clamp(1.35rem, 2.2vw, 1.8rem); margin-top: 6px; }
.charidy-strip__btn {
    margin-top: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 34px;
    padding: 0 16px;
    border-radius: 999px;
    border: 0;
    background: rgba(255,255,255,0.20);
    color:#fff;
    font-weight: 900;
    text-decoration: none;
}
.charidy-strip__btn:hover,
.charidy-strip__btn:focus-visible {
    color: #fff;
    background: rgba(255,255,255,0.32);
    text-decoration: none;
}
#campaign-story {
    scroll-margin-top: 88px;
}
.charidy-aboutCard--scrollHint {
    padding: 2rem 1rem;
}
.charidy-aboutCard__hint a {
    margin-inline-start: 0.35rem;
}

.campaign-about-modal-header {
    background: var(--ch-purple);
    color: #fff;
}

.events-empty-icon {
    font-size: 2.5rem;
}

.blog-container {
    max-width: 1080px;
}

.blog-hero-bg {
    background: radial-gradient(circle at top, #e0e7ff, #f9fafb);
}

.blog-hero-icon-wrap {
    width: 70px;
    height: 70px;
}

.blog-card-media-link {
    width: 34%;
}

.blog-card-media-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.blog-post-hero-container {
    max-width: 960px;
}

.blog-post-content-container {
    max-width: 1060px;
}

.blog-post-hero__bg-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transform: scale(1.02);
}

.charidy-meter { background:#fff; padding: 26px 0 10px; }
.charidy-meter__inner { text-align:center; color:#0f172a; }
.charidy-meter__amount { font-weight: 300; font-size: clamp(2.2rem, 4.5vw, 3.1rem); color: var(--campaign-maroon); }
.charidy-meter__line { margin-top: 6px; font-weight: 800; color:#0f172a; }
.charidy-meter__small { margin-top: 10px; color:#334155; font-weight: 700; }

.charidy-progress { max-width: 520px; margin: 12px auto 6px; }
.charidy-progress__track {
    position: relative;
    height: 14px;
    border-radius: 999px;
    background: rgba(2, 6, 23, 0.08);
    overflow: hidden;
}
.charidy-progress__fill {
    height: 100%;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--campaign-maroon), rgba(20, 184, 166, 0.9));
}
.charidy-progress__dot {
    position: absolute;
    top: 50%;
    width: 20px;
    height: 20px;
    border-radius: 999px;
    background: #fff;
    border: 3px solid var(--campaign-maroon);
    transform: translateY(-50%);
    box-shadow: 0 10px 22px rgba(2,6,23,0.18);
}
.charidy-progress__meta {
    margin-top: 10px;
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 12px;
    font-weight: 800;
    color: #0f172a;
}
.charidy-progress__pct { color: var(--campaign-maroon); font-weight: 900; }

/* אזור תורמים (פריסה כמו מוקאפ: כותרת + חיפוש + רשת + סרגל צד) */
.charidy-donorsSection {
    background: linear-gradient(180deg, rgba(241, 245, 249, 0.92) 0%, rgba(248, 250, 252, 0.55) 100%);
    padding: 26px 0 36px;
}
.charidy-donorsLayout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 200px;
    gap: 28px 36px;
    align-items: start;
}
.charidy-donorsLayout--rtl {
    grid-template-columns: 200px minmax(0, 1fr);
}
.charidy-donorsLayout__main {
    min-width: 0;
}
.charidy-donorsSection__head {
    margin-bottom: 14px;
}
.charidy-donorsSection__title {
    display: inline-block;
    margin: 0;
    font-size: clamp(1.15rem, 2.2vw, 1.35rem);
    font-weight: 900;
    color: #0f172a;
    padding-bottom: 8px;
    border-bottom: 3px solid #14b8a6;
    position: relative;
}
.charidy-donorsSection__title::after {
    content: "";
    position: absolute;
    bottom: -8px;
    inset-inline-start: 50%;
    transform: translateX(-50%);
    border-inline: 7px solid transparent;
    border-top: 7px solid #14b8a6;
}
.charidy-donorsSection__count {
    font-weight: 900;
    color: #0f172a;
    margin-inline-start: 0.25rem;
}
.charidy-donorsSearch {
    display: flex;
    gap: 10px;
    align-items: center;
    margin-bottom: 18px;
    flex-wrap: wrap;
}
.charidy-searchBtn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.charidy-search {
    flex: 1;
    min-width: min(280px, 100%);
    height: 42px;
    border-radius: 999px;
    border: 1px solid rgba(15, 23, 42, 0.14);
    padding: 0 16px;
    outline: none;
    font-weight: 700;
    background: #fff;
}
.charidy-searchBtn {
    width: 42px;
    height: 42px;
    border-radius: 999px;
    border: 0;
    background: #fff;
    box-shadow: 0 10px 24px rgba(2, 6, 23, 0.1);
    color: #0f172a;
}
.charidy-donorsAside {
    text-align: center;
    padding-top: 4px;
}
.charidy-donorsAside__count {
    font-size: clamp(2.4rem, 5vw, 3.1rem);
    font-weight: 800;
    line-height: 1;
    color: #14b8a6;
    letter-spacing: -0.02em;
}
.charidy-donorsAside__label {
    margin-top: 6px;
    font-size: 0.95rem;
    font-weight: 800;
    color: #64748b;
}
.charidy-donorsSort {
    margin-top: 22px;
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: center;
}
.charidy-donorsSort__title {
    font-weight: 900;
    font-size: 0.9rem;
    color: #0f172a;
    margin-bottom: 2px;
}
.charidy-donorsSort__link {
    font-weight: 700;
    font-size: 0.9rem;
    color: #64748b;
    text-decoration: none;
    border: 0;
    background: transparent;
    padding: 2px 0;
    cursor: pointer;
}
.charidy-donorsSort__link:hover,
.charidy-donorsSort__link:focus-visible {
    color: #14b8a6;
    text-decoration: underline;
}
.charidy-donorsSort__link.is-active {
    color: #0f172a;
    font-weight: 900;
}

.charidy-donorsGrid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}
.charidy-donorsGrid--empty {
    grid-template-columns: 1fr;
}
.charidy-donorsEmpty {
    grid-column: 1 / -1;
    text-align: left;
    color: #64748b;
    font-weight: 600;
    padding: 12px 4px 28px;
}
@media (max-width: 820px) {
    .charidy-donorsGrid {
        grid-template-columns: 1fr;
    }
    .charidy-donorsLayout,
    .charidy-donorsLayout--rtl {
        grid-template-columns: 1fr;
    }
    .charidy-donorsAside {
        order: -1;
        padding-top: 0;
        margin-bottom: 8px;
    }
    .charidy-donorsSort {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        gap: 12px 18px;
        margin-top: 14px;
    }
    .charidy-donorsSort__title {
        width: 100%;
        text-align: center;
        margin-bottom: 0;
    }
}

.charidy-donorCard {
    direction: ltr;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 12px 16px;
    align-items: start;
    background: #fff;
    border: 1px solid rgba(226, 232, 240, 0.95);
    border-radius: 16px;
    padding: 14px 16px 16px;
    box-shadow: 0 12px 32px rgba(2, 6, 23, 0.07);
    min-height: 96px;
}
.charidy-donorCard__amt {
    font-weight: 900;
    color: #0f172a;
    font-size: 1.05rem;
    line-height: 1.2;
    padding-top: 2px;
}
.charidy-donorCard__mainCol {
    min-width: 0;
}
.charidy-donorCard__nameRow {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}
.charidy-donorCard__text {
    flex: 1;
    min-width: 0;
    text-align: inherit;
}
.charidy-donorCard__name {
    font-weight: 900;
    color: #0f172a;
    font-size: 1rem;
    line-height: 1.25;
}
.charidy-donorCard__meta {
    margin-top: 6px;
    color: #64748b;
    font-weight: 600;
    font-size: 0.875rem;
    line-height: 1.35;
    word-break: break-word;
}
.charidy-donorCard__meta--muted {
    color: #94a3b8;
    font-weight: 600;
}
.charidy-donorCard__avatar {
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    border-radius: 999px;
    background: rgba(148, 163, 184, 0.22);
    border: 1px solid rgba(15, 23, 42, 0.1);
    color: #0f4c5c;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    font-size: 0.85rem;
}
.charidy-donors__more { display:flex; justify-content:center; margin-top: 18px; }
.charidy-moreBtn {
    height: 42px;
    padding: 0 26px;
    border-radius: 999px;
    background: rgba(0,0,0,0.06);
    border: 1px solid rgba(0,0,0,0.10);
    color: #0f172a;
    font-weight: 900;
    text-decoration:none;
}

.charidy-aboutCard { max-width: 860px; margin: 0 auto; border-radius: 18px; overflow:hidden; background:#fff; box-shadow: 0 20px 60px rgba(2,6,23,0.08); border:1px solid rgba(2,6,23,0.06); }
.charidy-aboutCard__head { background: rgba(148, 163, 184, 0.55); padding: 28px 16px; text-align:center; }
.charidy-aboutCard__kicker { font-weight: 800; opacity: 0.9; }
.charidy-aboutCard__title { font-weight: 900; font-size: clamp(1.6rem, 2.8vw, 2.2rem); margin-top: 6px; }
.charidy-aboutCard__body { padding: 22px 18px 26px; }
.charidy-aboutCard__text { color:#0f172a; line-height: 1.65; font-weight: 600; text-align:center; }

/* פוטר צף: שיתוף + תרומה (מעל הצ'אט בוט) */
.charidy-stickyBar {
    position: fixed;
    inset-inline: 0;
    inset-block-end: 0;
    z-index: 1090;
    padding: 10px 14px calc(12px + env(safe-area-inset-bottom, 0px));
    background: linear-gradient(180deg, rgba(15, 23, 42, 0) 0%, rgba(15, 23, 42, 0.82) 35%, rgba(15, 23, 42, 0.94) 100%);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 -12px 40px rgba(2, 6, 23, 0.18);
}
.charidy-stickyBar__inner {
    max-width: 520px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    align-items: stretch;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
}
.charidy-stickyBar__btn {
    flex: 1 1 140px;
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border-radius: 14px;
    font-weight: 800;
    font-size: 0.95rem;
    border: 0;
    cursor: pointer;
    text-decoration: none;
    transition: transform 0.15s ease, box-shadow 0.15s ease, filter 0.15s ease;
}
.charidy-stickyBar__btn--share {
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.22);
}
.charidy-stickyBar__btn--share:hover {
    background: rgba(255, 255, 255, 0.22);
    color: #fff;
    transform: translateY(-1px);
}
.charidy-stickyBar__btn--donate {
    background: linear-gradient(135deg, #fbbf24 0%, #f59e0b 50%, #ea580c 100%);
    color: #fff;
    box-shadow: 0 8px 22px rgba(234, 88, 12, 0.45);
}
.charidy-stickyBar__btn--donate i {
    color: #ef4444;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transform: translateY(1px);
}

.charidy-stickyBar__btn--donate span {
    color: #fff;
    line-height: 1;
    display: inline-flex;
    align-items: center;
}
.charidy-stickyBar__btn--donate:hover {
    color: #fff;
    filter: brightness(1.03);
    transform: translateY(-1px);
    box-shadow: 0 12px 28px rgba(234, 88, 12, 0.5);
}
.charidy-stickyBar__btn i { font-size: 1.1rem; }

/* סיפור עשיר מתחת ליעד */
.bkk-campaign .donate-general__wrap {
    scroll-margin-top: 96px;
    scroll-margin-bottom: calc(var(--campaign-sticky-h, 5.5rem) + 12px);
}

.charidy-storyRich {
    background: #f1f5f9;
    padding: 28px 0 36px;
}
.charidy-storyRich__inner {
    max-width: 720px;
    margin: 0 auto;
    padding-inline: 16px;
}
.charidy-storyRich__kicker {
    text-align: center;
    font-weight: 700;
    font-size: 0.8rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #64748b;
    margin-bottom: 6px;
}
.charidy-storyRich__title {
    text-align: center;
    font-weight: 800;
    font-size: clamp(1.25rem, 2.8vw, 1.55rem);
    color: #334155;
    line-height: 1.3;
    margin: 0 0 1.1rem;
    padding-bottom: 0.85rem;
    border-bottom: 1px solid #e2e8f0;
}
.charidy-storyRich__card {
    border-radius: 16px;
    background: #fff;
    padding: clamp(1.25rem, 2.8vw, 1.75rem) clamp(1rem, 3vw, 1.75rem);
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
    border: 1px solid #e2e8f0;
}
.charidy-storyRich__prose {
    max-width: 40rem;
    margin-inline: auto;
}
.charidy-storyRich__prose.campaign-rich-html {
    font-size: 1.05rem;
    line-height: 1.8;
    text-align: center;
    font-weight: 400;
    color: #334155;
    background: transparent;
}
.charidy-storyRich__prose.campaign-rich-html p,
.charidy-storyRich__prose.campaign-rich-html li,
.charidy-storyRich__prose.campaign-rich-html span {
    background: transparent !important;
    color: inherit;
}
.charidy-storyRich__prose.campaign-rich-html p {
    margin-bottom: 0.95rem;
    text-wrap: pretty;
}
.charidy-storyRich__prose.campaign-rich-html ul,
.charidy-storyRich__prose.campaign-rich-html ol {
    text-align: start;
    margin-inline: auto;
    max-width: 34rem;
    color: #334155;
}
.charidy-storyRich__prose.campaign-rich-html img {
    margin-inline: auto;
}

.campaign-rich-html {
    color: #0f172a;
    line-height: 1.75;
    font-size: clamp(0.98rem, 1.05vw, 1.06rem);
    text-align: start;
    font-weight: 500;
}
.campaign-rich-html > *:first-child { margin-top: 0; }
.campaign-rich-html > *:last-child { margin-bottom: 0; }
.campaign-rich-html h2,
.campaign-rich-html h3,
.campaign-rich-html h4 {
    font-weight: 900;
    margin: 1.25rem 0 0.6rem;
    line-height: 1.25;
    color: #0f172a;
}
.campaign-rich-html p { margin: 0 0 0.85rem; }
.campaign-rich-html ul,
.campaign-rich-html ol { padding-inline-start: 1.25rem; margin: 0 0 0.9rem; }
.campaign-rich-html li { margin-bottom: 0.35rem; }
.campaign-rich-html blockquote {
    margin: 1rem 0;
    padding: 0.75rem 1rem;
    border-inline-start: 4px solid rgba(245, 158, 11, 0.85);
    background: rgba(251, 191, 36, 0.12);
    border-radius: 0 12px 12px 0;
    font-weight: 600;
}
.campaign-rich-html a { color: #c2410c; font-weight: 700; text-underline-offset: 3px; }
.campaign-rich-html hr { border: 0; border-top: 1px solid rgba(148, 163, 184, 0.45); margin: 1.35rem 0; }
.campaign-rich-html img {
    display: block;
    max-width: 100%;
    height: auto;
    border-radius: 14px;
    margin: 1rem auto;
    box-shadow: 0 12px 32px rgba(2, 6, 23, 0.08);
}
.campaign-rich-html figure { margin: 1.1rem 0; }
.campaign-rich-html figcaption {
    font-size: 0.85rem;
    color: #64748b;
    text-align: center;
    margin-top: 0.4rem;
    font-weight: 600;
}

/* סיפור קמפיין: עדיפות על כללי .campaign-rich-html הכלליים (מראה אחיד, בלי הדגשות צבעוניות) */
.charidy-storyRich__prose.campaign-rich-html blockquote {
    border-inline-start: 3px solid #cbd5e1;
    background: #f8fafc;
    color: #475569;
    font-weight: 400;
}
.charidy-storyRich__prose.campaign-rich-html a {
    color: #475569;
    font-weight: 600;
}
.charidy-storyRich__prose.campaign-rich-html h2,
.charidy-storyRich__prose.campaign-rich-html h3,
.charidy-storyRich__prose.campaign-rich-html h4 {
    color: #334155;
    font-weight: 800;
}

.charidy-bottomBar {
    position: fixed;
    left: 0; right: 0; bottom: 0;
    background: var(--campaign-maroon);
    padding: 10px 0 calc(10px + env(safe-area-inset-bottom, 0px));
    z-index: 1060;
}
.charidy-bottomBar__inner {
    max-width: 520px;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    gap: 12px;
    padding: 0 12px;
}
.charidy-bottomBtn {
    min-width: 92px;
    height: 38px;
    border-radius: 999px;
    border: 0;
    background: rgba(255,255,255,0.18);
    color:#fff;
    font-weight: 900;
    text-decoration:none;
    display:inline-flex;
    align-items:center;
    justify-content:center;
}
.charidy-bottomBtn--donate { background: rgba(255,255,255,0.34); color:#0f172a; }
.charidy-bottomBtn--brand { min-width: 58px; background: rgba(0,0,0,0.20); font-weight: 900; }

@media (max-width: 575.98px) {
    .donate-modal__dialog {
        margin: 0.75rem;
    }
    .donate-modal__card {
        padding: 1rem;
        border-radius: 1rem;
    }
    .donate-modal__app {
        grid-template-columns: 1fr;
        gap: 0.9rem;
    }
}

.progress-lg {
    background: rgba(255, 255, 255, 0.15);
}

.faq-acc {
    max-width: 720px;
}

.faq-acc .accordion-button {
    font-weight: 600;
    color: var(--ch-navy);
    box-shadow: none !important;
    text-align: start;
}

.faq-acc .accordion-button:not(.collapsed) {
    color: #6d28d9;
    background: #fff;
}

.faq-acc .accordion-button::after {
    filter: hue-rotate(260deg);
}

.faq-hero {
    min-height: 220px;
}
.faq-hero__bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    filter: blur(2px);
    transform: scale(1.04);
}
.faq-hero__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(120deg, rgba(109, 40, 217, 0.88) 0%, rgba(91, 33, 182, 0.82) 45%, rgba(30, 27, 75, 0.75) 100%);
}
.faq-hero .container {
    position: relative;
    z-index: 1;
}
.faq-hero__badge {
    background: rgba(255, 255, 255, 0.2);
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.35);
}

.faq-filter-pill {
    border-radius: 999px;
    border: 1px solid rgba(109, 40, 217, 0.35);
    color: #5b21b6;
    background: #fff;
    font-weight: 600;
    font-size: 0.875rem;
    padding: 0.4rem 1rem;
}
.faq-filter-pill:hover {
    background: rgba(109, 40, 217, 0.06);
    color: #5b21b6;
}
.faq-filter-pill.active {
    background: linear-gradient(120deg, #7c3aed, #6d28d9);
    color: #fff !important;
    border-color: transparent;
}

.faq-cta {
    background: linear-gradient(120deg, #7c3aed 0%, #6d28d9 55%, #5b21b6 100%);
    box-shadow: 0 0.5rem 1.25rem rgba(91, 33, 182, 0.25);
}
.faq-cta__icon {
    width: 3.5rem;
    height: 3.5rem;
    background: rgba(255, 255, 255, 0.2);
}
.faq-page-section {
    padding-top: 2.5rem !important;
}

.prayers-hero {
    min-height: 280px;
}
.prayers-hero__bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
}
.prayers-hero__bg--fallback {
    background: linear-gradient(145deg, #1e1b4b 0%, #312e81 40%, #4c1d95 100%);
}
.prayers-hero__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(15, 23, 42, 0.55) 0%, rgba(30, 27, 75, 0.88) 100%);
}
.prayers-hero .container {
    position: relative;
    z-index: 1;
}
.prayers-hero__badge {
    background: rgba(59, 130, 246, 0.35);
    color: #fff;
    border: 1px solid rgba(147, 197, 253, 0.45);
}

.prayers-placeholder-card__icon {
    font-size: 2.75rem;
    opacity: 0.45;
}

.prayers-wa-banner {
    background: #f8fafc;
}
.prayers-wa-banner__inner {
    background: linear-gradient(120deg, #22c55e 0%, #16a34a 55%, #15803d 100%);
    box-shadow: 0 0.5rem 1.25rem rgba(22, 163, 74, 0.3);
}
.prayers-wa-banner__ico {
    width: 3rem;
    height: 3rem;
    background: rgba(255, 255, 255, 0.2);
}
.prayers-wa-banner__btn {
    color: #15803d !important;
}

.prayers-lesson-card__nophoto {
    min-height: 140px;
    background: #f1f5f9;
}

.traveler-rich-content {
    line-height: 1.55;
    word-wrap: break-word;
}
.traveler-rich-content p:last-child {
    margin-bottom: 0;
}
.traveler-rich-content p {
    margin-bottom: 0.5rem;
}
.traveler-rich-content ul,
.traveler-rich-content ol {
    margin: 0.25rem 0 0.5rem;
    padding-inline-start: 1.25rem;
}
.traveler-rich-content a {
    color: var(--ch-teal);
    text-decoration: underline;
}
.traveler-rich-content h2,
.traveler-rich-content h3,
.traveler-rich-content h4 {
    font-size: 1rem;
    font-weight: 700;
    margin: 0.5rem 0 0.25rem;
}

.btn-teal {
    background: var(--ch-teal);
    border: none;
}
.btn-teal:hover {
    background: #0d9488;
    color: #fff;
}

.text-teal {
    color: var(--ch-teal) !important;
}

.bg-teal {
    background-color: var(--ch-teal) !important;
}

.chabad-footer {
    background: linear-gradient(135deg, #0a1931 0%, #0f2744 50%, #0a1931 100%);
}

/* Footer social buttons */
.ch-footer-social {
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, 0.14);
    color: #fff;
    box-shadow: 0 12px 26px rgba(2, 6, 23, 0.35);
    transition: transform 160ms ease, filter 160ms ease, box-shadow 160ms ease;
}
.ch-footer-social:hover {
    transform: translateY(-2px);
    filter: brightness(1.03);
    box-shadow: 0 16px 34px rgba(2, 6, 23, 0.42);
    color: #fff;
}
.ch-footer-social--wa { background: linear-gradient(135deg, #22c55e, #16a34a); }
.ch-footer-social--fb { background: linear-gradient(135deg, #1877f2, #0b5ed7); }
.ch-footer-social--ig { background: linear-gradient(135deg, #f97316, #ec4899, #7c3aed); }

.ch-footer-tagline {
    font-weight: 900;
    color: rgba(56, 189, 248, 0.95);
    letter-spacing: -0.01em;
    font-size: 1.05rem;
    margin-top: 0.15rem;
    text-shadow: 0 10px 26px rgba(2, 6, 23, 0.45);
}

.ch-footer-social-row {
    align-items: center;
    justify-content: flex-start;
}

[dir="rtl"] .ch-footer-social-row {
    justify-content: flex-start;
}

.chabad-footer a.text-white-50 i.bi {
    opacity: 0.95;
    color: rgba(255, 255, 255, 0.92);
}
.chabad-footer a.text-white-50:hover {
    color: #fff !important;
}
.chabad-footer a.text-white-50:hover i.bi {
    color: #fff;
}

.ratio-21x9 {
    --bs-aspect-ratio: 42.85%;
}

@media (max-width: 767.98px) {
    .hero-carousel {
        height: 58vh;
        min-height: 320px;
    }
    .hero-slide-bg {
        height: 100%;
        min-height: 0;
        position: absolute;
        inset: 0;
    }
    .hero-carousel .carousel-inner,
    .hero-carousel .carousel-item {
        height: 58vh;
        min-height: 320px;
    }
    .hero-carousel .carousel-item {
        position: relative;
    }

    
    .hero-overlay--vignette .container {
        padding-top: 3.25rem !important;
        padding-bottom: 5.25rem !important; 
    }

    .hero-carousel .carousel-indicators {
        margin-bottom: 1.25rem !important;
    }

    .hero-carousel .carousel-control-prev,
    .hero-carousel .carousel-control-next {
        width: 12%;
        opacity: 0.85;
    }
}

.hero-overlay--vignette {
    background:
        radial-gradient(ellipse 80% 60% at 50% 40%, rgba(5, 20, 48, 0.2), rgba(5, 20, 48, 0.72)),
        linear-gradient(180deg, rgba(5, 20, 48, 0.25) 0%, rgba(5, 20, 48, 0.65) 100%);
    pointer-events: none;
}

.hero-overlay--vignette .container {
    pointer-events: auto;
}

.hero-kicker {
    font-size: 0.8rem;
    letter-spacing: 0.2em;
    opacity: 0.92;
}

.hero-title {
    letter-spacing: -0.02em;
    text-shadow: 0 4px 32px rgba(0, 0, 0, 0.35);
}

.hero-lead {
    letter-spacing: 0.02em;
}

.hero-location {
    font-size: 0.95rem;
}

.btn-hero-primary {
    background: linear-gradient(135deg, #f59e0b 0%, #ea580c 100%);
    border: none;
    color: #0f172a !important;
    font-weight: 700;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.btn-hero-primary:hover {
    color: #0f172a !important;
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(234, 88, 12, 0.45) !important;
}

.btn-hero-secondary {
    background: rgba(255, 255, 255, 0.14);
    border: 1px solid rgba(255, 255, 255, 0.45);
    color: #fff !important;
    font-weight: 600;
    backdrop-filter: blur(8px);
    transition: background 0.2s ease, transform 0.2s ease;
}

.btn-hero-secondary:hover {
    background: rgba(255, 255, 255, 0.26);
    color: #fff !important;
    transform: translateY(-2px);
}

.home-search-section {
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 45%, #f1f5f9 100%);
}

.home-search-section__bg {
    position: absolute;
    inset: 0;
    background-image: radial-gradient(circle at 20% 20%, rgba(13, 110, 253, 0.06), transparent 45%),
        radial-gradient(circle at 80% 80%, rgba(245, 158, 11, 0.08), transparent 40%);
    pointer-events: none;
}

.home-section-badge {
    background: linear-gradient(135deg, rgba(13, 110, 253, 0.12), rgba(245, 158, 11, 0.12));
    color: var(--ch-navy);
    border: 1px solid rgba(13, 110, 253, 0.15);
}

.home-section-title {
    font-size: clamp(1.5rem, 4vw, 2rem);
    letter-spacing: -0.02em;
}

.home-section-sub {
    font-size: 1.05rem;
    line-height: 1.65;
}

.home-search-hint__icon {
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #e0e7ff, #fef3c7);
    color: #4338ca;
    font-size: 1rem;
}

/* Homepage: upcoming Shabbat — premium split banner (dark + photo) */
.home-shabbat-prehome {
    background: linear-gradient(180deg, #f1f5f9 0%, #ffffff 100%);
}

.home-shabbat-prehome__shell {
    position: relative;
    background:
        radial-gradient(120% 150% at 92% 72%, rgba(245, 158, 11, 0.18) 0%, rgba(245, 158, 11, 0) 55%),
        radial-gradient(90% 120% at 78% 20%, rgba(251, 191, 36, 0.14) 0%, rgba(251, 191, 36, 0) 52%),
        linear-gradient(135deg, #0b1020 0%, #10172a 48%, #1b1628 100%);
    border: 1px solid rgba(251, 191, 36, 0.14);
    box-shadow:
        0 24px 60px rgba(2, 6, 23, 0.45),
        0 0 0 1px rgba(255, 255, 255, 0.04) inset;
}

.home-shabbat-prehome__grid {
    display: grid;
    grid-template-columns: minmax(0, 42%) minmax(0, 1fr);
    min-height: min(320px, 52vw);
    align-items: stretch;
}

@media (max-width: 767.98px) {
    .home-shabbat-prehome__grid {
        grid-template-columns: 1fr;
        min-height: 0;
    }
}

.home-shabbat-prehome__media {
    position: relative;
    min-height: 200px;
    background: #141824;
    overflow: hidden;
}

@media (max-width: 767.98px) {
    .home-shabbat-prehome__media {
        aspect-ratio: 16 / 10;
        min-height: 0;
    }
}

.home-shabbat-prehome__img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.03);
}

.home-shabbat-prehome__mediaFallback {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background:
        radial-gradient(circle at 30% 70%, rgba(245, 158, 11, 0.35), transparent 55%),
        radial-gradient(circle at 70% 30%, rgba(139, 92, 246, 0.25), transparent 50%),
        linear-gradient(145deg, #1e1b4b 0%, #0f172a 45%, #020617 100%);
    color: rgba(255, 255, 255, 0.35);
    font-size: clamp(3rem, 12vw, 5rem);
}

.home-shabbat-prehome__mediaScrim {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(2, 6, 23, 0.05) 0%, rgba(2, 6, 23, 0.55) 85%, rgba(2, 6, 23, 0.82) 100%);
    pointer-events: none;
}

@media (max-width: 767.98px) {
    .home-shabbat-prehome__mediaScrim {
        background: linear-gradient(180deg, rgba(2, 6, 23, 0.1) 0%, rgba(2, 6, 23, 0.75) 100%);
    }
}

.home-shabbat-prehome__body {
    position: relative;
    z-index: 1;
    padding: clamp(1.35rem, 4vw, 2.5rem);
    display: flex;
    flex-direction: column;
    justify-content: center;
    background:
        radial-gradient(90% 120% at 100% 80%, rgba(245, 158, 11, 0.16) 0%, rgba(245, 158, 11, 0) 62%),
        radial-gradient(80% 110% at 72% 12%, rgba(251, 191, 36, 0.12) 0%, rgba(251, 191, 36, 0) 54%),
        linear-gradient(180deg, rgba(10, 14, 28, 0.86) 0%, rgba(8, 12, 24, 0.9) 100%);
    color: #fff;
}

.home-shabbat-prehome__kicker {
    display: inline-block;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.55);
    margin-bottom: 0.5rem;
}

.home-shabbat-prehome__headline {
    font-size: clamp(1.65rem, 4.2vw, 2.35rem);
    font-weight: 900;
    letter-spacing: -0.03em;
    line-height: 1.15;
    color: #fff;
    text-shadow: 0 10px 40px rgba(0, 0, 0, 0.35);
    margin: 0;
}

.home-shabbat-prehome__pill {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.55rem 0.85rem;
    border-radius: 0.85rem;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.14);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
}

.home-shabbat-prehome__pillIco {
    color: #fcd34d;
    font-size: 1.05rem;
}

.home-shabbat-prehome__pillLbl {
    font-size: 0.78rem;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.72);
}

.home-shabbat-prehome__pillTime {
    font-weight: 900;
    font-size: 0.95rem;
    color: #fff;
    margin-inline-start: 0.1rem;
}

.home-shabbat-prehome__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    padding: 0.65rem 1.35rem;
    font-weight: 800;
    font-size: 0.95rem;
    border-radius: 999px;
    text-decoration: none;
    transition:
        transform 0.18s ease,
        box-shadow 0.18s ease,
        background 0.18s ease,
        border-color 0.18s ease,
        color 0.18s ease;
}

.home-shabbat-prehome__btn:hover {
    color: inherit;
    transform: translateY(-1px);
}

.home-shabbat-prehome__btn--primary {
    color: #fff !important;
    background: linear-gradient(135deg, #a21caf 0%, #7c3aed 55%, #5b21b6 100%);
    border: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow:
        0 12px 32px rgba(124, 58, 237, 0.45),
        inset 0 1px 0 rgba(255, 255, 255, 0.15);
}

.home-shabbat-prehome__btn--primary:hover {
    color: #fff !important;
    box-shadow:
        0 16px 40px rgba(124, 58, 237, 0.55),
        inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

.home-shabbat-prehome__btnArrow {
    font-weight: 900;
    opacity: 0.95;
    margin-inline-start: 0.15rem;
}

.home-shabbat-prehome__btn--ghost {
    color: rgba(255, 255, 255, 0.92) !important;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.22);
}

.home-shabbat-prehome__btn--ghost:hover {
    color: #fff !important;
    background: rgba(255, 255, 255, 0.12);
    border-color: rgba(255, 255, 255, 0.35);
}

.home-shabbat-prehome__pill--parasha .home-shabbat-prehome__pillTime {
    font-size: 0.9rem;
}

.home-shabbat-prehome__btn--donate {
    color: rgba(255, 236, 236, 0.98) !important;
    background: linear-gradient(135deg, rgba(239, 68, 68, 0.18) 0%, rgba(220, 38, 38, 0.12) 100%);
    border-color: rgba(248, 113, 113, 0.45);
    box-shadow: 0 8px 22px rgba(239, 68, 68, 0.18);
}

.home-shabbat-prehome__btn--donate i {
    color: #f87171;
}

.home-shabbat-prehome__btn--donate:hover {
    color: #fff2f2 !important;
    background: linear-gradient(135deg, rgba(239, 68, 68, 0.26) 0%, rgba(220, 38, 38, 0.2) 100%);
    border-color: rgba(248, 113, 113, 0.6);
    box-shadow: 0 12px 28px rgba(239, 68, 68, 0.25);
}

.home-shabbat-prehome__warn {
    color: rgba(252, 211, 77, 0.95);
}

.ch-chat-launcher {
    z-index: 1080;
}

.ch-chat-launcher.position-fixed {
    inset: auto 0 0 auto;
    right: 0.75rem;
    bottom: calc(0.75rem + env(safe-area-inset-bottom, 0px));
    left: auto;
    top: auto;
}

.ch-chat-fab {
    position: relative;
    border: none;
    padding: 0;
    width: 56px;
    height: 56px;
    border-radius: 14px;
    background: #0b66ff;
    color: #fff;
    box-shadow:
        0 12px 28px rgba(11, 102, 255, 0.34),
        inset 0 1px 0 rgba(255, 255, 255, 0.12);
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
}

.ch-chat-fab:hover {
    transform: translateY(-2px);
    filter: brightness(1.02);
    color: #fff;
}

.ch-chat-fab:focus-visible {
    outline: 3px solid rgba(245, 158, 11, 0.65);
    outline-offset: 3px;
}

.ch-chat-fab__glow {
    display: none;
}

@keyframes ch-chat-pulse {
    0%,
    100% {
        opacity: 0.35;
        transform: scale(1);
    }
    50% {
        opacity: 0.6;
        transform: scale(1.04);
    }
}

.ch-chat-fab__inner {
    display: none;
}

.ch-chat-fab__icon {
    font-size: 26px;
    line-height: 1;
    color: #fff;
    filter: none;
}

.ch-chat-fab__label {
    display: none;
}

.ch-chat-fab__dot {
    position: absolute;
    top: -5px;
    right: -5px;
    width: 16px;
    height: 16px;
    border-radius: 999px;
    background: #22c55e;
    border: 3px solid #fff;
    box-shadow: 0 8px 18px rgba(34, 197, 94, 0.35);
}

@media (max-width: 575.98px) {
    .ch-chat-fab__label {
        display: none;
    }
    .ch-chat-fab__inner {
        padding: 0.85rem;
    }
    .ch-chat-fab {
        width: 54px;
        height: 54px;
        border-radius: 14px;
    }
}

body.ch-chat-open .ch-chat-launcher {
    display: none !important;
}

.ch-chat-drawer {
    
    --bs-offcanvas-width: min(92vw, 420px);
    --bs-offcanvas-height: min(100dvh, 600px);
    box-shadow: 12px 0 40px rgba(15, 23, 42, 0.18);
    direction: rtl;
}

@media (min-width: 576px) {
    .ch-chat-drawer.offcanvas-end {
        
        border-radius: 1.5rem;
        overflow: hidden;
        top: auto;
        bottom: 1rem;
        right: 1rem;
        left: auto;
        margin: 0;
        height: min(calc(100dvh - 2rem), var(--bs-offcanvas-height));
        max-height: min(calc(100dvh - 2rem), var(--bs-offcanvas-height));
    }
}

@media (min-width: 576px) {
    .ch-chat-drawer.offcanvas-end {
        right: 1rem !important;
        left: auto !important;
        transform: translateX(110%);
    }
    .ch-chat-drawer.offcanvas-end.show,
    .ch-chat-drawer.offcanvas-end.showing {
        transform: none;
    }
}

@media (max-width: 575.98px) {
    .ch-chat-drawer.offcanvas-bottom {
        --bs-offcanvas-height: 92dvh;
        border-radius: 0;
        margin: 0;
        box-shadow: 0 -18px 60px rgba(15, 23, 42, 0.22);
    }
}

.ch-chat-drawer__head {
    padding: 0.75rem 0.9rem 0.65rem;
    background: #0b66ff;
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: 42px 1fr 42px;
    align-items: start;
}

.ch-chat-msg {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}
.ch-chat-msg--bot {
    justify-content: flex-start;
}
.ch-chat-msg--user {
    justify-content: flex-end;
}
.ch-chat-msg--bot .ch-chat-msg__icon { order: 1; }
.ch-chat-msg--bot .ch-chat-bubble { order: 2; }
.ch-chat-msg--user .ch-chat-msg__icon { order: 2; }
.ch-chat-msg--user .ch-chat-bubble { order: 1; }

.ch-chat-edgebtns {
    display: none !important;
}

.ch-chat-drawer__head::after {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 100% 0%, rgba(255, 255, 255, 0.14), transparent 60%);
    pointer-events: none;
}

.ch-chat-drawer__head > * {
    position: relative;
    z-index: 1;
}

.ch-chat-drawer__close {
    width: 42px;
    height: 42px;
    border-radius: 0.85rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.14);
    border: 1px solid rgba(255, 255, 255, 0.25);
}

.ch-chat-drawer__headCenter {
    padding-top: 0.2rem;
}

.ch-chat-drawer__side {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    align-items: flex-end;
}

.ch-chat-sidebtn {
    width: 42px;
    height: 42px;
    border-radius: 0.95rem;
    background: rgba(255, 255, 255, 0.22);
    border: 1px solid rgba(255, 255, 255, 0.28);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.ch-chat-sidebtn--light {
    background: rgba(255, 255, 255, 0.95);
    color: #1d4ed8;
    border-color: rgba(255, 255, 255, 0.75);
}

.ch-chat-edgebtns {
    position: absolute;
    inset-inline-end: 14px;
    top: 76px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    z-index: 2;
}

.ch-chat-edgebtn {
    width: 42px;
    height: 42px;
    border-radius: 0.95rem;
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(255, 255, 255, 0.75);
    color: #0b66ff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.14);
}

.ch-chat-edgebtn:hover {
    background: #fff;
}

.ch-chat-drawer__status {
    color: rgba(255, 255, 255, 0.9);
}

.ch-chat-drawer__pulse {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #4ade80;
    box-shadow: 0 0 0 3px rgba(74, 222, 128, 0.35);
    animation: ch-dot-pulse 2s ease-in-out infinite;
}

@keyframes ch-dot-pulse {
    0%,
    100% {
        opacity: 1;
    }
    50% {
        opacity: 0.55;
    }
}

.ch-chat-drawer__body {
    background: #f8fafc;
    overflow: hidden;
}

.ch-chat-drawer__body,
.ch-chat-drawer__scroll {
    min-height: 0;
}

.offcanvas-backdrop.show {
    opacity: 1;
    background: rgba(2, 6, 23, 0.18);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

/* Prevent visual flicker on offcanvas close/open */
.offcanvas-backdrop {
    transition: opacity 180ms ease !important;
    will-change: opacity;
}
.ch-chat-drawer {
    will-change: transform;
    backface-visibility: hidden;
    display: flex;
    flex-direction: column;
}

.ch-chat-drawer > .offcanvas-header {
    flex: 0 0 auto;
}

.ch-chat-drawer > .offcanvas-body {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.ch-chat-drawer__scroll {
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    flex: 1 1 auto;
    min-height: 0;
}

.ch-chat-messages {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    padding-bottom: 0.25rem;
}

.ch-chat-msg {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 0.25rem;
}

.ch-chat-msg--user {
    justify-content: flex-end;
}

.ch-chat-msg__icon {
    width: 34px;
    height: 34px;
    border-radius: 0.85rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    background: #fff;
    color: #0b66ff;
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.12);
}

.ch-chat-msg--user .ch-chat-msg__icon {
    background: #2563eb;
    color: #fff;
    box-shadow: 0 10px 22px rgba(37, 99, 235, 0.22);
}

.ch-chat-bubble {
    border-radius: 1.25rem;
    padding: 0.85rem 1rem;
    background: #fff;
    border: 1px solid rgba(148, 163, 184, 0.35);
    box-shadow: 0 2px 12px rgba(15, 23, 42, 0.06);
    max-width: 85%;
}

.ch-chat-bubble--bot {
    border-right: 0;
    position: relative;
    margin-inline-end: auto;
}

.ch-chat-bubble--user {
    background: #2563eb;
    border-color: rgba(37, 99, 235, 0.35);
    color: #fff;
    margin-inline-start: auto;
}

.ch-chat-bubble--user .small {
    color: #fff;
}

.ch-chat-bubble--bot::before {
    content: "";
    position: absolute;
    inset-inline-start: 0;
    top: 0.75rem;
    bottom: 0.75rem;
    width: 4px;
    border-radius: 999px;
    background: linear-gradient(180deg, #f59e0b, #fb7185);
}

.ch-chat-chip {
    font-size: 0.85rem;
    font-weight: 800;
    padding: 0.65rem 1.05rem;
    border-radius: 0.85rem;
    border: 2px solid rgba(59, 130, 246, 0.28);
    background: #ffffff;
    color: #2563eb;
    transition: background 0.2s ease, border-color 0.2s ease, transform 0.15s ease;
}

.ch-chat-chip:hover {
    background: #eff6ff;
    border-color: rgba(29, 78, 216, 0.45);
    transform: translateY(-1px);
}

.ch-chat-drawer__composer {
    background: #fff;
}

.ch-chat-input-wrap {
    border: 1px solid rgba(148, 163, 184, 0.35);
    flex-direction: row-reverse;
}

.ch-chat-input-wrap:focus-within {
    border-color: rgba(245, 158, 11, 0.65);
    box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.15);
}

.ch-chat-send {
    min-width: 3.35rem;
    min-height: 3.35rem;
    background: #0b66ff !important;
    border: none;
    color: #fff !important;
}

.ch-chat-send:hover {
    filter: brightness(1.06);
    background: #0b66ff !important;
    color: #fff !important;
}

@media (max-width: 575.98px) {
    .ch-chat-drawer {
        --bs-offcanvas-height: 100dvh;
        border-radius: 0;
    }
}

.gallery-page-badge {
    background: linear-gradient(135deg, rgba(255, 122, 46, 0.15), rgba(13, 110, 253, 0.12));
    color: var(--ch-navy);
}

.gallery-filter-btn--active {
    background: linear-gradient(135deg, var(--ch-orange) 0%, #ea580c 100%) !important;
    color: #fff !important;
    border: none !important;
    box-shadow: 0 4px 14px rgba(234, 88, 12, 0.35);
}

#galleryFilters .btn-outline-secondary:not(.gallery-filter-btn--active) {
    background: #fff;
    border-color: #e2e8f0;
    color: #334155;
}

#galleryFilters .btn-outline-secondary:not(.gallery-filter-btn--active):hover {
    background: #f8fafc;
    border-color: #cbd5e1;
    color: #0f172a;
}

.gallery-masonry {
    column-count: 2;
    column-gap: 1rem;
    column-fill: balance;
}

@media (min-width: 576px) {
    .gallery-masonry {
        column-count: 3;
        column-gap: 1.125rem;
    }
}

@media (min-width: 992px) {
    .gallery-masonry {
        column-count: 4;
        column-gap: 1.35rem;
    }
}

.gallery-masonry__item {
    display: block;
    width: 100%;
    margin-bottom: 1rem;
    break-inside: avoid;
    page-break-inside: avoid;
    -webkit-column-break-inside: avoid;
    animation: chGalleryMasonryIn 0.52s cubic-bezier(0.22, 1, 0.36, 1) backwards;
    animation-delay: calc(0.028s * min(var(--gallery-i, 0), 36));
}

@media (min-width: 576px) {
    .gallery-masonry__item {
        margin-bottom: 1.125rem;
    }
}

@media (min-width: 992px) {
    .gallery-masonry__item {
        margin-bottom: 1.35rem;
    }
}

@keyframes chGalleryMasonryIn {
    from {
        opacity: 0;
        transform: translateY(12px);
    }
    to {
        opacity: 1;
        transform: none;
    }
}

.gallery-tile--masonry {
    cursor: zoom-in;
    border-radius: 14px;
    overflow: hidden;
    background: #fff;
    box-shadow:
        0 1px 2px rgba(15, 23, 42, 0.05),
        0 6px 20px rgba(15, 23, 42, 0.08);
    transition:
        transform 0.22s ease,
        box-shadow 0.22s ease;
}

.gallery-tile__frame {
    display: block;
    line-height: 0;
    background: linear-gradient(160deg, #f1f5f9 0%, #e8eef5 100%);
}

.gallery-tile--masonry .gallery-tile__img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.4s ease;
}

.gallery-tile__cap {
    display: block;
    padding: 0.65rem 0.9rem;
    font-size: 0.8125rem;
    line-height: 1.4;
    font-weight: 500;
    color: #1e293b;
    background: linear-gradient(180deg, #fafbfc 0%, #f4f6f8 100%);
    border-top: 1px solid rgba(226, 232, 240, 0.95);
}

.gallery-tile-btn:hover {
    transform: translateY(-5px);
    box-shadow:
        0 4px 12px rgba(15, 23, 42, 0.08),
        0 18px 40px rgba(15, 23, 42, 0.12) !important;
}

.gallery-tile-btn:hover .gallery-tile__img {
    transform: scale(1.03);
}

@media (prefers-reduced-motion: reduce) {
    .gallery-masonry__item,
    .home-gallery-masonry__item {
        animation: none;
    }

    .gallery-tile--masonry .gallery-tile__img,
    .home-gallery-card--masonry .home-gallery-card__img {
        transition: none;
    }
}

.gallery-lb-dialog {
    margin: 0;
    max-width: 100%;
}

.gallery-lb-surface {
    min-height: 100vh;
    background: linear-gradient(165deg, #0a0e21 0%, #030712 45%, #020617 100%);
    touch-action: pan-y pinch-zoom;
}

body.gallery-lightbox-open .modal-backdrop.show {
    background-color: #020617;
    opacity: 0.96;
}

.gallery-lightbox-modal .modal-content {
    min-height: 100vh;
}

.gallery-lb-frame {
    max-width: min(96vw, 1200px);
    background: rgba(0, 0, 0, 0.35);
    box-shadow: 0 25px 80px rgba(0, 0, 0, 0.55);
}

.gallery-lb-counter {
    letter-spacing: 0.06em;
}

.gallery-lb-nav {
    width: 3rem;
    height: 3rem;
    padding: 0;
    background: rgba(255, 255, 255, 0.1) !important;
    border: 1px solid rgba(255, 255, 255, 0.22) !important;
    color: #fff !important;
    backdrop-filter: blur(8px);
    z-index: 1080;
    transition: background 0.2s ease, transform 0.15s ease;
}

.gallery-lb-nav:hover {
    background: rgba(255, 122, 46, 0.35) !important;
    border-color: rgba(255, 200, 150, 0.45) !important;
    color: #fff !important;
}

.gallery-lb-nav:active {
    transform: scale(0.96);
}

.gallery-lb-close {
    z-index: 1080;
    opacity: 0.85;
    filter: invert(1) grayscale(1);
}

.gallery-lb-close:hover {
    opacity: 1;
}

.home-gallery-section__bg {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, #f8fafc 0%, #fff 45%, #f1f5f9 100%);
    opacity: 1;
}

.home-gallery-masonry {
    column-count: 2;
    column-gap: 0.7rem;
    column-fill: balance;
}

@media (min-width: 768px) {
    .home-gallery-masonry {
        column-count: 3;
        column-gap: 0.9rem;
    }
}

@media (min-width: 1200px) {
    .home-gallery-masonry {
        column-count: 4;
        column-gap: 1rem;
    }
}

.home-gallery-masonry__item {
    display: block;
    width: 100%;
    margin-bottom: 0.7rem;
    break-inside: avoid;
    page-break-inside: avoid;
    -webkit-column-break-inside: avoid;
    animation: chGalleryMasonryIn 0.52s cubic-bezier(0.22, 1, 0.36, 1) backwards;
    animation-delay: calc(0.03s * min(var(--home-gi, 0), 24));
}

@media (min-width: 768px) {
    .home-gallery-masonry__item {
        margin-bottom: 0.9rem;
    }
}

@media (min-width: 1200px) {
    .home-gallery-masonry__item {
        margin-bottom: 1rem;
    }
}

.home-gallery-card {
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.home-gallery-card--masonry {
    border-radius: 12px;
    box-shadow:
        0 1px 2px rgba(15, 23, 42, 0.05),
        0 6px 20px rgba(15, 23, 42, 0.08);
}

.home-gallery-card--masonry .home-gallery-card__img {
    height: auto;
    max-height: 360px;
    object-fit: cover;
    transition: transform 0.45s ease;
}

.home-gallery-card:hover {
    transform: translateY(-4px);
    box-shadow:
        0 8px 24px rgba(15, 23, 42, 0.1),
        0 20px 48px rgba(15, 23, 42, 0.12) !important;
}

.home-gallery-card:hover .home-gallery-card__img {
    transform: scale(1.04);
}

.home-gallery-card__shine {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(135deg, transparent 40%, rgba(255, 255, 255, 0.2) 50%, transparent 60%);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.home-gallery-card:hover .home-gallery-card__shine {
    opacity: 1;
}

.home-gallery-card__cap {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(transparent, rgba(5, 20, 48, 0.85));
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
}

.btn-ch-gallery {
    background: linear-gradient(135deg, var(--ch-orange) 0%, #ea580c 100%);
    border: none;
    color: #fff !important;
    font-weight: 600;
}

.btn-ch-gallery:hover {
    filter: brightness(1.05);
    color: #fff !important;
}

.hotel-card-link:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.12) !important;
}

.attraction-card-link {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.attraction-card-link:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.12) !important;
}

.traveler-card-link {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.traveler-card-link:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.12) !important;
}

.traveler-item-body {
    line-height: 1.65;
}

.traveler-item-hero {
    min-height: 280px;
    background: linear-gradient(135deg, #0e7490 0%, #0a4d6b 45%, #0f172a 100%);
}
@media (min-width: 768px) {
    .traveler-item-hero {
        min-height: 340px;
    }
}
.traveler-item-hero__bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
}
.traveler-item-hero__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(15, 23, 42, 0.55) 0%, rgba(15, 23, 42, 0.75) 100%);
}
.traveler-item-hero__inner {
    z-index: 1;
}
.traveler-item-hero__title {
    text-shadow: 0 2px 24px rgba(0, 0, 0, 0.35);
}
.breadcrumb--on-dark .breadcrumb-item + .breadcrumb-item::before {
    color: rgba(255, 255, 255, 0.45);
}
.traveler-item-detail-card {
    margin-top: -2rem;
    position: relative;
    z-index: 2;
}
@media (min-width: 768px) {
    .traveler-item-detail-card {
        margin-top: -3rem;
    }
}
.traveler-item-notice p:last-child {
    margin-bottom: 0;
}

.hotel-detail-hero img {
    background: #f1f5f9;
}

.hotel-detail-desc {
    line-height: 1.65;
}

.shabbat-zmanim-strip {
    background: linear-gradient(90deg, #ff8c42 0%, #e85d04 100%);
}

.shabbat-page-hero {
    background: #0f172a;
    
    min-height: clamp(300px, 52vh, 640px);
}

.shabbat-page-hero__bg {
    inset: 0;
    overflow: hidden;
    background-size: cover;
    background-position: center;
    transform: scale(1.02);
    filter: saturate(1.04) contrast(1.02) brightness(0.9);
}

.shabbat-page-hero__overlay {
    inset: 0;
    background: linear-gradient(180deg, rgba(2, 6, 23, 0.25) 0%, rgba(2, 6, 23, 0.55) 65%, rgba(2, 6, 23, 0.72) 100%);
}

.shabbat-page-hero__content {
    min-height: clamp(300px, 52vh, 640px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 3rem 1.25rem;
}

@media (max-width: 767.98px) {
    .shabbat-page-hero,
    .shabbat-page-hero__content {
        min-height: clamp(260px, 44vh, 420px);
    }
}

.shabbat-page-hero__title {
    font-size: clamp(1.8rem, 4vw, 3.1rem);
    letter-spacing: -0.02em;
    text-shadow: 0 18px 40px rgba(0, 0, 0, 0.35);
}

.shabbat-page-hero__sub {
    max-width: 52rem;
    margin-inline: auto;
    font-weight: 600;
}

.shabbat-zmanim-strip__inner {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: row;
    direction: rtl;
    gap: min(4rem, 6vw);
    padding: 0.6rem 0;
}

.shabbat-zmanim-strip__time {
    color: #fff;
    font-weight: 800;
    letter-spacing: -0.02em;
    font-size: 1.1rem;
}

.shabbat-zmanim-strip__label {
    color: rgba(255, 255, 255, 0.85);
    font-size: 0.8rem;
    font-weight: 700;
    margin-inline-end: 0.5rem;
    white-space: nowrap;
}

.shabbat-zmanim-strip__item {
    display: flex;
    align-items: center;
    justify-content: center;
}

.shabbat-home-hero__grid {
    display: grid;
    grid-template-columns: minmax(280px, 520px) 1fr;
    gap: 2rem;
    align-items: center;
}

@media (max-width: 991.98px) {
    .shabbat-home-hero__grid {
        grid-template-columns: 1fr;
        gap: 1.25rem;
    }
}

.shabbat-home-hero__media {
    position: relative;
    overflow: hidden;
    box-shadow: 0 20px 50px rgba(15, 23, 42, 0.12);
    aspect-ratio: 16 / 10;
    background: #0f172a;
}

.shabbat-home-hero__img {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    transform: scale(1.02);
    filter: saturate(1.03) contrast(1.02);
}

.shabbat-home-hero__imgOverlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(2, 6, 23, 0.12) 0%, rgba(2, 6, 23, 0.55) 80%, rgba(2, 6, 23, 0.78) 100%);
}

.shabbat-home-hero__mediaCap {
    position: absolute;
    bottom: 0.75rem;
    inset-inline-start: 0.75rem;
    inset-inline-end: 0.75rem;
    color: #fff;
    z-index: 2;
}

.shabbat-home-hero__capKicker {
    font-size: 0.8rem;
    opacity: 0.88;
    margin-bottom: 0.15rem;
}

.shabbat-home-hero__capTitle {
    font-size: 1.4rem;
    font-weight: 900;
    letter-spacing: -0.02em;
    text-shadow: 0 8px 28px rgba(0, 0, 0, 0.35);
}

.shabbat-home-hero__flame {
    position: absolute;
    top: 0.65rem;
    inset-inline-start: 0.65rem;
    width: 3rem;
    height: 3rem;
    border-radius: 0.85rem;
    background: #f59e0b;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 3;
    box-shadow: 0 10px 24px rgba(245, 158, 11, 0.35);
}

.shabbat-home-hero__flame i {
    font-size: 1.35rem;
}

.shabbat-home-hero__title {
    font-size: clamp(2rem, 4vw, 3rem);
    letter-spacing: -0.02em;
}

.shabbat-home-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background: rgba(13, 110, 253, 0.08);
    border: 1px solid rgba(13, 110, 253, 0.18);
    color: var(--ch-navy);
    border-radius: 0.9rem;
    padding: 0.65rem 0.85rem;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.06);
}

.shabbat-home-pill__ico {
    color: #2563eb;
}

.shabbat-home-pill__label {
    font-size: 0.8rem;
    font-weight: 700;
    color: #334155;
}

.shabbat-home-pill__time {
    font-weight: 900;
    color: #0f172a;
    margin-inline-start: 0.25rem;
}

.shabbat-reg-head {
    align-items: flex-start;
}

.shabbat-meal-card {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.35rem;
    border-radius: 1rem;
    border: 2px solid #d1d5db;
    background: #fff;
    padding: 1rem;
    text-align: start;
    cursor: pointer;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

.shabbat-meal-card__ico {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 0.85rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(245, 158, 11, 0.12);
    color: #ea580c;
    font-size: 1.25rem;
}

.shabbat-meal-card__title {
    font-weight: 800;
    color: #0f172a;
}

.shabbat-meal-btn.is-selected {
    border-color: #f59e0b;
    background: #fff7ed;
    box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.18);
}

.shabbat-reg-panel {
    background: #fff7ed;
    border: 1px solid rgba(245, 158, 11, 0.25);
}

.shabbat-stepper-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.shabbat-stepper-row__label {
    font-weight: 800;
    color: #0f172a;
}

.shabbat-stepper {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    background: #fff;
    border-radius: 999px;
    padding: 0.35rem 0.6rem;
    border: 1px solid rgba(15, 23, 42, 0.12);
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.06);
}

.shabbat-stepper-input {
    width: 2.5rem;
    text-align: center;
    border: none;
    background: transparent;
    font-weight: 900;
    color: #0f172a;
}

.shabbat-stepper-input:focus {
    outline: none;
}

.shabbat-stepper-btn {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 999px;
    border: none;
    background: #f59e0b;
    color: #fff;
    font-weight: 900;
    font-size: 1.25rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.shabbat-stepper-btn:hover {
    filter: brightness(0.98);
}

.shabbat-total-box {
    background: #fff7ed;
    border: 1px solid rgba(245, 158, 11, 0.25);
}

.text-orange {
    color: #ea580c !important;
}

.shabbat-reg-modal__body {
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 7.5rem; 
}

.shabbat-reg-modal__footer {
    position: sticky;
    bottom: 0;
    background: #fff;
    padding-top: 0.75rem;
    box-shadow: 0 -12px 24px rgba(15, 23, 42, 0.06);
    border-bottom-left-radius: 1.25rem;
    border-bottom-right-radius: 1.25rem;
}

@media (max-width: 575.98px) {
    .shabbat-reg-modal.modal-dialog-scrollable .modal-content {
        max-height: 92vh;
    }
    .shabbat-reg-modal.modal-dialog-centered {
        align-items: flex-start;
        margin-top: 0.75rem;
        margin-bottom: 0.75rem;
    }
}

#shabbatRegisterModal .modal-dialog.shabbat-reg-modal {
    margin-top: 0.75rem;
    margin-bottom: 0.75rem;
}

#shabbatRegisterModal .modal-content.shabbat-reg-modal__content {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    max-height: calc(100svh - 1.5rem);
}

@supports not (height: 100svh) {
    #shabbatRegisterModal .modal-content.shabbat-reg-modal__content {
        max-height: calc(100vh - 1.5rem);
    }
}

#shabbatRegisterModal .modal-header.shabbat-reg-head {
    flex: 0 0 auto;
}

#shabbatRegisterModal .modal-body.shabbat-reg-modal__body {
    flex: 1 1 auto;
    min-height: 0; 
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    max-height: calc(100svh - 220px);
}

@supports not (height: 100svh) {
    #shabbatRegisterModal .modal-body.shabbat-reg-modal__body {
        max-height: calc(100vh - 220px);
    }
}

#shabbatRegisterModal .modal-footer.shabbat-reg-modal__footer {
    flex: 0 0 auto;
}

.shabbat-hero-zmanim-card {
    display: none;
}

/* ===========================
   Blog (public)
   =========================== */
.blog-post-hero {
    min-height: clamp(320px, 42vh, 520px);
    background: #0b1220;
}
.blog-post-hero__bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    filter: saturate(1.05) contrast(1.05);
    transform: scale(1.02);
}
.blog-post-hero__bg--fallback {
    background: radial-gradient(circle at 20% 10%, rgba(138, 79, 255, 0.55), transparent 45%),
        radial-gradient(circle at 80% 0%, rgba(13, 110, 253, 0.55), transparent 55%),
        linear-gradient(180deg, #0b1220, #0a1931);
}
.blog-post-hero__overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(10, 15, 30, 0.35) 0%, rgba(10, 15, 30, 0.78) 55%, rgba(248, 250, 252, 1) 100%),
        radial-gradient(circle at 40% 20%, rgba(255,255,255,0.18), transparent 55%);
}
.blog-post-hero__badge {
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.18);
    color: rgba(255, 255, 255, 0.92);
    backdrop-filter: blur(10px);
}
.blog-post-hero__title {
    color: #f8fafc;
    font-weight: 900;
    letter-spacing: -0.03em;
    line-height: 1.08;
    font-size: clamp(1.8rem, 3.1vw, 3rem);
    text-shadow: 0 18px 50px rgba(0,0,0,0.55);
}

.blog-post-article {
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.blog-side-card {
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.blog-more-bullet {
    width: 0.6rem;
    height: 0.6rem;
    margin-top: 0.35rem;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--ch-purple), var(--ch-primary));
    box-shadow: 0 8px 18px rgba(13,110,253,0.18);
}

/* Typography for rich post body (TinyMCE output) */
.post-body {
    color: #0f172a;
    font-size: 1.03rem;
    line-height: 1.85;
}
.post-body > *:first-child { margin-top: 0; }
.post-body > *:last-child { margin-bottom: 0; }
.post-body p { margin: 0 0 1rem; }
.post-body h2, .post-body h3, .post-body h4 {
    color: #051430;
    font-weight: 900;
    letter-spacing: -0.02em;
    margin: 2.25rem 0 0.9rem;
    line-height: 1.22;
}
.post-body h2 { font-size: 1.6rem; }
.post-body h3 { font-size: 1.35rem; }
.post-body h4 { font-size: 1.15rem; }
.post-body a {
    color: var(--ch-primary-dark);
    font-weight: 800;
    text-decoration: none;
    border-bottom: 1px solid rgba(13,110,253,0.35);
}
.post-body a:hover { border-bottom-color: rgba(13,110,253,0.8); }
.post-body img, .post-body video, .post-body iframe {
    max-width: 100%;
    border-radius: 1rem;
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.12);
}
.post-body figure { margin: 1.4rem 0; }
.post-body figcaption { margin-top: 0.6rem; font-size: 0.9rem; color: #64748b; text-align: center; }
.post-body blockquote {
    margin: 1.4rem 0;
    padding: 1rem 1.25rem;
    border-radius: 1rem;
    background: linear-gradient(180deg, rgba(138,79,255,0.09), rgba(13,110,253,0.06));
    border: 1px solid rgba(99,102,241,0.18);
    color: #0f172a;
}
.post-body blockquote p { margin: 0; }
.post-body ul, .post-body ol { margin: 0 0 1rem; padding-inline-start: 1.2rem; }
.post-body li { margin: 0.25rem 0; }
.post-body hr { border: 0; height: 1px; background: rgba(15,23,42,0.12); margin: 2rem 0; }
.post-body table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
    border-radius: 1rem;
    border: 1px solid rgba(15,23,42,0.12);
    margin: 1.25rem 0;
}
.post-body th, .post-body td { padding: 0.75rem; border-bottom: 1px solid rgba(15,23,42,0.08); }
.post-body tr:last-child td { border-bottom: 0; }

@media (max-width: 575.98px) {
    .post-body { font-size: 1rem; line-height: 1.8; }
    .blog-post-hero { min-height: 320px; }
}

@media (max-width: 767.98px) {
    .shabbat-hero-zmanim-card {
        display: block;
    }
}

#shabbat .shabbat-parashat-banner,
#shabbat .shabbat-events-section {
    display: none !important;
}

#shabbat .shabbat-register-calendar {
    display: none !important;
}

#shabbat .shabbat-calendar-row .d-none.d-md-flex.align-items-center.gap-2 {
    display: none !important;
}

#shabbat .shabbat-calendar-row .d-md-none.mt-3.text-center {
    display: none !important;
}

#shabbat .shabbat-calendar-row {
    cursor: pointer;
    transition: transform 0.12s ease, box-shadow 0.12s ease;
}

#shabbat .shabbat-calendar-row:hover {
    transform: translateY(-1px);
}

#shabbat .shabbat-calendar-row:focus-visible {
    outline: 3px solid rgba(245, 158, 11, 0.65);
    outline-offset: 3px;
}

#shabbat .shabbat-calendar-row--upcoming {
    border: 2px solid rgba(245, 158, 11, 0.45);
    box-shadow:
        0 16px 34px rgba(245, 158, 11, 0.14),
        0 0 0 1px rgba(255, 255, 255, 0.8) inset;
    background: linear-gradient(180deg, #fffef8 0%, #ffffff 100%);
}

#shabbat .shabbat-upcoming-badge {
    background: rgba(245, 158, 11, 0.16);
    color: #b45309;
    border: 1px solid rgba(245, 158, 11, 0.34);
    font-weight: 700;
    font-size: 0.72rem;
}

#shabbat .shabbat-cal-card__grid {
    direction: ltr; 
    display: grid;
    grid-template-columns: 86px 1fr 220px;
    align-items: center;
    gap: 1rem;
}

#shabbat .shabbat-cal-card__badge {
    direction: rtl;
}

#shabbat .shabbat-cal-pill {
    background: #0b5ed7;
    color: #fff;
    padding: 0.55rem 0.8rem;
    font-weight: 700;
}

#shabbat .shabbat-cal-card__times {
    direction: ltr;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    gap: 1.75rem;
}

#shabbat .shabbat-cal-time__label {
    font-size: 0.75rem;
    line-height: 1.1;
}

#shabbat .shabbat-cal-card__right {
    direction: rtl;
}

#shabbat .shabbat-cal-card__guests {
    direction: rtl;
}

@media (max-width: 767.98px) {
    #shabbat .shabbat-cal-card__grid {
        grid-template-columns: 56px minmax(90px, 1fr) minmax(150px, auto);
        grid-template-areas: "badge right times";
        align-items: center;
        row-gap: 0;
        column-gap: 0.55rem;
    }

    #shabbat .shabbat-cal-card__badge {
        grid-area: badge;
        align-self: center;
        justify-self: start;
    }

    #shabbat .shabbat-cal-card__right {
        grid-area: right;
        justify-self: start;
        text-align: end;
        margin-top: 0;
        min-height: 0;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
    }

    #shabbat .shabbat-cal-card__guests { display:none; }

    #shabbat .shabbat-cal-card__times {
        grid-area: times;
        justify-content: flex-end;
        align-items: flex-end;
        gap: 0.7rem;
    }
}

#shabbat .shabbat-calendar-row[data-enabled="0"] {
    opacity: 0.6;
    cursor: not-allowed;
}

.hero-slide-bg__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

.service-card-bg__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

.gallery-lb-img {
    max-height: min(85vh, 900px);
    object-fit: contain;
}

.shabbat-home-hero__img-el {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.shabbat-page-hero__bg-el {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.shabbat-empty-icon {
    font-size: 3rem;
}

.shabbat-parasha-banner__inner {
    background: linear-gradient(90deg, #ff8c42, #e85d04);
}

.shabbat-featured-card {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.92) 0%, rgba(248, 250, 252, 1) 100%);
}

.shabbat-card-title {
    max-width: 100%;
}

.shabbat-card-desc-clamp {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.shabbat-calendar-year-nav {
    direction: ltr;
}

.shabbat-year-chip {
    color: #0f172a;
}

.shabbat-group-row {
    border-bottom: 1px solid #f1f5f9;
}

.shabbat-group-row--last {
    border-bottom: 0;
}

.partial-campaign-section {
    background: linear-gradient(180deg, #f1f5f9 0%, #ffffff 100%);
}

.partial-campaign-container {
    max-width: 1120px;
}

.partial-campaign-card {
    background:
        radial-gradient(120% 150% at 92% 72%, rgba(245, 158, 11, 0.18) 0%, rgba(245, 158, 11, 0) 55%),
        radial-gradient(90% 120% at 78% 20%, rgba(251, 191, 36, 0.14) 0%, rgba(251, 191, 36, 0) 52%),
        linear-gradient(135deg, #0b1020 0%, #10172a 48%, #1b1628 100%);
    border: 1px solid rgba(251, 191, 36, 0.14);
    box-shadow:
        0 24px 60px rgba(2, 6, 23, 0.45),
        0 0 0 1px rgba(255, 255, 255, 0.04) inset;
}

.partial-campaign-card > .row {
    min-height: min(320px, 52vw);
    align-items: stretch;
}

.partial-campaign-media {
    min-height: 100%;
}

@media (max-width: 767.98px) {
    .partial-campaign-card > .row {
        min-height: 0;
    }
    .partial-campaign-media {
        aspect-ratio: 16 / 10;
        min-height: 0;
    }
}

.partial-campaign-media-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    filter: saturate(1.05) contrast(1.05) brightness(0.92);
}

.partial-campaign-media-fallback {
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.35), rgba(138, 79, 255, 0.30));
}

.partial-campaign-media-overlay {
    background: linear-gradient(90deg, rgba(2, 6, 23, 0.05) 0%, rgba(2, 6, 23, 0.55) 85%, rgba(2, 6, 23, 0.82) 100%);
}

@media (max-width: 767.98px) {
    .partial-campaign-media-overlay {
        background: linear-gradient(180deg, rgba(2, 6, 23, 0.1) 0%, rgba(2, 6, 23, 0.75) 100%);
    }
}

.partial-campaign-badge-soft {
    background: rgba(167, 139, 250, 0.16);
    border: 1px solid rgba(167, 139, 250, 0.35);
}

.partial-campaign-copy {
    min-width: min(420px, 100%);
}

.partial-campaign-title {
    letter-spacing: -0.02em;
    text-shadow: 0 8px 24px rgba(3, 7, 18, 0.45);
}

.partial-campaign-sub {
    max-width: 56ch;
    color: rgba(226, 232, 240, 0.82) !important;
}

#contact .contact-map-embed {
    max-width: 920px;
}

#contact .contact-nav-icon {
    width: 56px;
    height: 56px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    transition: transform 0.18s ease, box-shadow 0.18s ease, filter 0.18s ease;
    box-shadow: 0 10px 22px rgba(2, 6, 23, 0.14);
}

#contact .contact-nav-icon:hover {
    transform: translateY(-2px);
    filter: brightness(1.03);
}

#contact .contact-nav-icon__logo {
    width: 28px;
    height: 28px;
    display: block;
}

#contact .contact-nav-icon--google .contact-nav-icon__logo {
    border-radius: 7px;
}

#contact .contact-nav-icon--waze {
    box-shadow: 0 10px 22px rgba(51, 204, 255, 0.25);
}

#contact .contact-nav-icon--google {
    box-shadow: 0 10px 22px rgba(66, 133, 244, 0.24);
}

#contact .contact-nav-pill {
    height: 46px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    padding: 0 1rem;
    text-decoration: none;
    font-weight: 700;
    border: 1px solid transparent;
    transition: transform 0.18s ease, box-shadow 0.18s ease, filter 0.18s ease;
}

#contact .contact-nav-pill:hover {
    transform: translateY(-2px);
    filter: brightness(1.03);
}

#contact .contact-nav-pill--google {
    color: #fff;
    background: linear-gradient(135deg, #4285f4 0%, #1a73e8 52%, #0f5fcc 100%);
    border-color: rgba(66, 133, 244, 0.45);
    box-shadow: 0 10px 22px rgba(66, 133, 244, 0.28);
}

#contact .contact-nav-pill--waze {
    color: #fff;
    background: linear-gradient(135deg, #33ccff 0%, #1cb8f5 52%, #0ea5e9 100%);
    border-color: rgba(14, 165, 233, 0.45);
    box-shadow: 0 10px 22px rgba(14, 165, 233, 0.3);
}

.faq-hero__bg-img,
.prayers-hero__bg-img,
.traveler-item-hero__bg-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.faq-hero-container,
.prayers-hero-container,
.prayers-wa-banner__inner--narrow {
    max-width: 900px;
}

.faq-hero-subtitle,
.prayers-hero-subtitle {
    max-width: 36rem;
}

.faq-filter-sticky {
    top: 0;
    z-index: 1010;
}

.faq-content-container,
.prayers-content-container {
    max-width: 820px;
}

.prayers-content-container {
    max-width: 800px;
}

.attraction-card-img,
.hotel-card-img,
.kosher-card-img {
    height: 200px;
}

.restaurant-card-img {
    height: 220px;
}

.attraction-card-overlay {
    background: linear-gradient(transparent, rgba(0, 0, 0, .65));
}

.hotel-card-overlay,
.restaurant-card-overlay {
    background: linear-gradient(transparent, rgba(0, 0, 0, .75));
}

.kosher-card-overlay {
    background: linear-gradient(transparent, rgba(0, 0, 0, .78));
}

.mikvah-title-icon {
    width: 2.25rem;
    height: 2.25rem;
}

.judaism-container,
.public-generic-container {
    max-width: 720px;
}

.ch-page-disabled-container {
    max-width: 860px;
}

.ch-page-disabled-icon-wrap {
    width: 76px;
    height: 76px;
    background: rgba(13, 110, 253, 0.10);
    color: #0b5ed7;
}

.ch-page-disabled-icon {
    font-size: 2rem;
}
