/* Temporary public-home design override requested July 2026.
   Kept isolated so CMS appearance controls can be restored later. */

.public-home-layout {
    --bjp-orange: #ff7a00;
    --bjp-orange-dark: #e76500;
    --bjp-green: #0b6b3a;
    --bjp-green-deep: #064a2a;
    --bjp-ink: #101820;
    --bjp-cream: #fffaf2;
}

.public-home-layout .campaign-home-page,
.public-home-layout .main-content,
.public-home-layout .campaign-home-page > section {
    margin: 0 !important;
}

.public-home-layout .campaign-home-page {
    background: var(--bjp-cream) !important;
}

/* Professional, compact navigation */
.public-home-layout .campaign-navbar {
    min-height: 76px !important;
    height: auto !important;
    padding: 0 clamp(18px, 4vw, 64px) !important;
    border: 0 !important;
    border-bottom: 4px solid var(--bjp-orange) !important;
    background: rgba(255, 255, 255, .98) !important;
    box-shadow: 0 10px 30px rgba(16, 24, 32, .12) !important;
}

.public-home-layout .campaign-navbar-inner {
    width: min(1440px, 100%) !important;
    min-height: 72px !important;
    margin: 0 auto !important;
}

.public-home-layout .campaign-brand {
    color: var(--bjp-green-deep) !important;
    font-family: Inter, "Noto Sans Devanagari", sans-serif !important;
    font-size: clamp(20px, 2vw, 28px) !important;
    font-weight: 900 !important;
    letter-spacing: -.035em !important;
}

.public-home-layout .campaign-brand-mark {
    width: 48px !important;
    height: 48px !important;
    border: 0 !important;
    background: #fff4e5 !important;
}

.public-home-layout .campaign-nav-links {
    gap: clamp(14px, 2vw, 30px) !important;
}

.public-home-layout .campaign-nav-link {
    padding: 28px 0 24px !important;
    color: #263238 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: .035em !important;
}

.public-home-layout .campaign-nav-link:hover,
.public-home-layout .campaign-nav-link:focus {
    color: var(--bjp-orange-dark) !important;
    border-bottom-color: var(--bjp-orange) !important;
}

.public-home-layout .campaign-nav-button-gold {
    min-width: 112px !important;
    height: 44px !important;
    border-radius: 999px !important;
    background: var(--bjp-orange) !important;
    color: #111 !important;
    box-shadow: 0 8px 20px rgba(255, 122, 0, .28) !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
}

.public-home-layout .campaign-nav-button-gold:hover {
    background: #ff922b !important;
    color: #000 !important;
    transform: translateY(-2px);
}

/* Swiper hero: full-width media with predictable cropping */
.public-home-layout .hero-cms-section,
.public-home-layout .campaignHeroSwiper,
.public-home-layout .campaign-hero-slide {
    width: 100% !important;
    min-height: clamp(390px, 47vw, 650px) !important;
}

.public-home-layout .hero-cms-section .campaign-hero-slide {
    height: clamp(390px, 47vw, 650px) !important;
    background: #0b2f20 !important;
}

.public-home-layout .hero-cms-media,
.public-home-layout .hero-cms-media picture {
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
}

.public-home-layout .hero-cms-media img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
}

.public-home-layout .hero-cms-section .campaign-hero-content {
    height: 100% !important;
}

/* Remove seams while keeping intentional internal breathing room. */
.public-home-layout .campaign-showcase,
.public-home-layout .editorial-newsroom-section,
.public-home-layout .press-desk-section,
.public-home-layout .home-members-section,
.public-home-layout .campaign-events-showcase,
.public-home-layout .people-say-section,
.public-home-layout .campaign-engagement,
.public-home-layout .campaign-footer {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    border-top: 0 !important;
}

.public-home-layout .campaign-showcase {
    padding: clamp(42px, 5vw, 72px) 0 !important;
}

.public-home-layout .campaign-photo-showcase {
    background: linear-gradient(135deg, #fffaf2 0%, #fff2df 100%) !important;
}

.public-home-layout .campaign-video-showcase {
    background: transparent;
}

.public-home-layout .campaign-video-showcase .campaign-kicker {
    color: var(--video-section-text, var(--managed-text, var(--home-primary))) !important;
}

.public-home-layout .campaign-video-showcase .campaign-showcase-head h2 {
    color: var(--video-section-text, var(--managed-text, var(--home-text))) !important;
}

.public-home-layout .campaign-video-showcase .campaign-showcase-head p {
    color: var(--video-section-text, var(--managed-text, var(--home-muted))) !important;
}

.public-home-layout .campaign-video-showcase .campaign-explore {
    border-color: var(--home-primary) !important;
    color: #fff !important;
    background: var(--home-primary) !important;
    box-shadow: 0 8px 20px rgba(15, 76, 129, .16) !important;
}

.public-home-layout .campaign-video-showcase .campaign-explore:hover {
    border-color: var(--home-primary-dark) !important;
    color: #fff !important;
    background: var(--home-primary-dark) !important;
    box-shadow: 0 12px 28px rgba(15, 76, 129, .24) !important;
}

/* Bigger, clean thumbnails */
.public-home-layout .campaign-video-curve {
    min-height: 290px !important;
    margin-top: 26px !important;
    overflow: hidden !important;
}

.public-home-layout .campaign-video-track {
    min-height: 280px !important;
    gap: 22px !important;
    align-items: center !important;
}

.public-home-layout .campaign-video-tile {
    flex: 0 0 clamp(330px, 31vw, 500px) !important;
    width: clamp(330px, 31vw, 500px) !important;
    height: clamp(220px, 20vw, 310px) !important;
    border: 3px solid rgba(255, 255, 255, .86) !important;
    border-radius: 18px !important;
    box-shadow: 0 18px 38px rgba(0, 0, 0, .25) !important;
    transform: none !important;
}

.public-home-layout .campaign-video-tile img,
.public-home-layout .perspective-gallery-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
}

.public-home-layout .campaign-video-play {
    width: 58px !important;
    height: 58px !important;
    background: var(--bjp-orange) !important;
    color: #111 !important;
}

.public-home-layout .perspective-gallery-viewport {
    overflow: hidden !important;
}

.public-home-layout .perspective-gallery-track {
    align-items: stretch !important;
}

.public-home-layout .perspective-gallery-card {
    overflow: hidden !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: 0 15px 34px rgba(44, 34, 20, .16) !important;
}

.public-home-layout .perspective-gallery-image {
    overflow: hidden !important;
    background: #f2e8d8 !important;
}

/* Party member portraits must fill the visual panel. */
.public-home-layout .home-members-section {
    width: 100% !important;
    max-width: none !important;
    height: clamp(310px, 34vw, 500px) !important;
    min-height: clamp(310px, 34vw, 500px) !important;
    max-height: none !important;
    background: #082f22 !important;
}

.public-home-layout .home-member-card {
    height: 100% !important;
    min-height: 100% !important;
}

.public-home-layout .home-member-card img {
    inset: var(--hm-top-height) 0 var(--hm-bottom-height) !important;
    width: 100% !important;
    height: calc(100% - var(--hm-top-height) - var(--hm-bottom-height)) !important;
    object-fit: cover !important;
    object-position: center top !important;
}

/* BJP-inspired footer */
.public-home-layout .campaign-footer {
    position: relative;
    overflow: hidden;
    padding-top: 54px !important;
    background:
        linear-gradient(105deg, rgba(6, 74, 42, .98) 0%, rgba(11, 107, 58, .98) 62%, rgba(230, 101, 0, .98) 100%) !important;
    color: rgba(255,255,255,.82) !important;
}

.public-home-layout .campaign-footer::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 7px;
    background: linear-gradient(90deg, var(--bjp-orange) 0 33.33%, #fff 33.33% 66.66%, var(--bjp-green) 66.66%);
}

.public-home-layout .campaign-footer :is(.campaign-footer-logo, h4, a, p) {
    color: #fff !important;
}

.public-home-layout .campaign-newsletter button {
    background: var(--bjp-orange) !important;
    color: #111 !important;
}

@media (max-width: 800px) {
    .public-home-layout .campaign-nav-links {
        gap: 0 !important;
    }

    .public-home-layout .campaign-nav-link {
        padding: 13px 0 !important;
    }

    .public-home-layout .campaign-video-tile {
        flex-basis: 82vw !important;
        width: 82vw !important;
        height: min(54vw, 270px) !important;
    }

    .public-home-layout .campaign-video-curve,
    .public-home-layout .campaign-video-track {
        min-height: 250px !important;
    }
}

@media (max-width: 560px) {
    .public-home-layout .hero-cms-section,
    .public-home-layout .campaignHeroSwiper,
    .public-home-layout .campaign-hero-slide {
        min-height: 410px !important;
    }

    .public-home-layout .hero-cms-section .campaign-hero-slide {
        height: 410px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .public-home-layout .campaign-nav-button-gold {
        transition: none !important;
    }
}

/* Unified homepage grid and vertical rhythm. Keep section backgrounds full width,
   while every section's readable content shares the same screen edges. */
.public-home-layout .campaign-home-page {
    --home-content-max: 1380px;
    --home-gutter: 32px;
    --home-section-space: 64px;
}

.public-home-layout .managed-content-section {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    overflow: clip;
}

.public-home-layout .managed-content-section > section:not(.home-members-section) {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding-top: var(--home-section-space) !important;
    padding-bottom: var(--home-section-space) !important;
    box-sizing: border-box !important;
}

.public-home-layout .managed-content-section :is(
    .campaign-showcase-head,
    .data-image-slider__wrapper,
    .data-image-slider__scrollbar,
    .campaign-video-curve,
    .campaign-event-track,
    .campaign-event-placeholder-note,
    .campaign-reels > .container-fluid,
    .editorial-newsroom-section > .container,
    .press-desk-section > .container,
    .press-desk-section + .container,
    .people-say-section > .container,
    .home-connect-section > .container
) {
    width: min(var(--home-content-max), calc(100% - (var(--home-gutter) * 2))) !important;
    max-width: var(--home-content-max) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
}

.public-home-layout .managed-content-section .campaign-reels-head {
    width: 100% !important;
    max-width: none !important;
}

.public-home-layout .managed-content-section > .container {
    width: min(var(--home-content-max), calc(100% - (var(--home-gutter) * 2))) !important;
    max-width: var(--home-content-max) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
}

.public-home-layout .managed-content-section .people-inspired-stage {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.public-home-layout .managed-content-section[data-managed-section="HomeMembers"] {
    padding-top: var(--home-section-space) !important;
    padding-bottom: var(--home-section-space) !important;
}

.public-home-layout .managed-content-section .home-members-section {
    width: min(var(--home-content-max), calc(100% - (var(--home-gutter) * 2))) !important;
    max-width: var(--home-content-max) !important;
    margin: 0 auto !important;
}

.public-home-layout .managed-content-section :is(
    .campaign-video-curve,
    .campaign-event-track,
    .campaign-reels-viewport,
    .people-inspired-viewport,
    .home-members-track
) {
    min-width: 0;
    max-width: 100%;
}

@media (max-width: 991.98px) {
    .public-home-layout .campaign-home-page {
        --home-gutter: 24px;
        --home-section-space: 52px;
    }
}

@media (max-width: 575.98px) {
    .public-home-layout .campaign-home-page {
        --home-gutter: 16px;
        --home-section-space: 40px;
    }

    .public-home-layout .managed-content-section :is(.campaign-showcase-head, .campaign-reels-head) {
        gap: 18px !important;
    }
}
