/* Front page only. Vertical section spacing is separate from card padding. */
body.home { --sanpota-home-gap: 32px; }
/* Carry the local theme's desktop hero positioning into production. */
@media (min-width: 901px) {
    body.home #home.hero-section {
        padding-top: 59px !important;
    }
    body.home #home.hero-section.has-hero-banner-slider .hero-banner-stage {
        inset: 101px auto auto 50% !important;
    }
}
/* Outer card reveals must not visually change the approved section gaps. */
body.home .solutions-container-card.reveal-up,
body.home .unified-custom-printing.reveal-up,
body.home .unified-why-us.reveal-up,
body.home .unified-bottom-row.reveal-up,
body.home .home-articles-section.reveal-up {
    transform: none !important;
}
/* Compact sections must not show rectangular bands from clipped outer shadows.
   Keep rounded card surfaces and article borders without changing carousel overflow. */
body.home .unified-custom-printing,
body.home .unified-why-us,
body.home .cara-order-card,
body.home .home-articles-section .home-article-card,
body.home .home-articles-section .home-article-card:hover {
    box-shadow: none !important;
}
body.home .elementor[data-elementor-type="wp-page"] > .elementor-top-section,
body.home .elementor[data-elementor-type="wp-page"] > .e-con {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    min-height: 0 !important;
}
body.home .elementor-widget-sanpota_hero,
body.home .elementor-widget-sanpota_solutions,
body.home .elementor-widget-sanpota_custom_why_us,
body.home .elementor-widget-sanpota_products_hot,
body.home .elementor-widget-sanpota_cara_order,
body.home .elementor-widget-sanpota_partners,
body.home .elementor-widget-sanpota_testimonials,
body.home .elementor-widget-sanpota_footer_cta {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    --kit-widget-spacing: 0px;
}
body.home :is(.elementor-widget-sanpota_hero,.elementor-widget-sanpota_solutions,.elementor-widget-sanpota_custom_why_us,.elementor-widget-sanpota_products_hot,.elementor-widget-sanpota_cara_order,.elementor-widget-sanpota_partners,.elementor-widget-sanpota_testimonials,.elementor-widget-sanpota_footer_cta) > .elementor-widget-container {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
body.home :is(.solutions-section,.unified-features-section,.products-section,.partners-section,.testimonials-slider-section,.home-articles-section,.footer-cta-section) {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: calc(var(--sanpota-home-gap) / 2) !important;
    padding-bottom: calc(var(--sanpota-home-gap) / 2) !important;
    min-height: 0 !important;
}
/* The hero keeps its banner dimensions, arrows and ribbon positioning. */
body.home #home.hero-section {
    margin-bottom: 0 !important;
    padding-bottom: 16px !important;
}
body.home #solutions.solutions-section {
    padding-top: 16px !important;
}
/* Match the space below the solutions card to the ribbon-to-card gap. */
body.home #solutions.solutions-section > .section-container {
    padding-bottom: 0 !important;
}
/* Let the original hero end at its content instead of filling the viewport. */
body.home #home.hero-section:not(.has-hero-banner-slider),
body.home #home.hero-section.has-hero-banner-slider.is-original-slide {
    min-height: 0 !important;
}
body.home .elementor-top-section > .elementor-container > .elementor-column > .elementor-widget-wrap:has(> .elementor-widget-sanpota_hero) {
    padding-bottom: 0 !important;
}
body.home .elementor-top-section > .elementor-container > .elementor-column > .elementor-widget-wrap:has(> .elementor-widget-sanpota_solutions:first-child) {
    padding-top: 0 !important;
}
body.home #home.hero-section .features-ribbon {
    margin-bottom: 0 !important;
}
body.home #products.products-section {
    padding-top: calc(var(--sanpota-home-gap) / 2) !important;
}
body.home #products.products-section > .section-container {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
body.home .elementor-widget-sanpota_custom_why_us + .elementor-widget-sanpota_products_hot {
    margin-top: 0 !important;
}
body.home .elementor-widget-sanpota_custom_why_us .unified-features-section {
    padding-bottom: calc(var(--sanpota-home-gap) / 2) !important;
}
/* Remove only outer container whitespace, not the padding inside visible cards. */
body.home :is(.unified-features-section,.products-section,.partners-section,.testimonials-slider-section,.home-articles-section) > .section-container {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
body.home :is(.partners-header,.testimonials-header,.home-articles-header) {
    margin-bottom: 20px !important;
}
/* Compact the review-to-article transition, including Swiper's inner space. */
body.home #testimonials.testimonials-slider-section {
    padding-bottom: 0 !important;
}
body.home #testimonials .my-testi-swiper {
    padding-bottom: 0 !important;
}
body.home #testimonials .testi-pagination {
    margin-top: 18px !important;
    margin-bottom: 0 !important;
}
body.home .home-articles-section {
    padding-top: 12px !important;
    padding-bottom: calc(var(--sanpota-home-gap) / 2 - 8px) !important;
}
body.home .home-articles-section .home-articles-grid {
    padding-bottom: 8px !important;
}
body.home .home-articles-header h2 {
    margin-top: 0 !important;
}
@media (min-width: 768px) and (max-width: 1199px) {
    body.home { --sanpota-home-gap: 24px; }
}
@media (max-width: 767px) {
    body.home { --sanpota-home-gap: 20px; }
    body.home :is(.partners-header,.testimonials-header,.home-articles-header) { margin-bottom: 16px !important; }
}

/* Match the desktop feature bar inset used by Custom Printing and Our Solution. */
@media (min-width: 1025px) {
 body.home #home .features-ribbon .features-container {
  width: calc(100% - 32px) !important;
  max-width: 1268px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box;
 }
}



/* Place desktop uploaded-banner CTAs on the inset row above the feature bar. */
@media (min-width: 1025px) {
 body.home #home.has-hero-banner-slider:not(.is-original-slide) .hero-actions {
  translate: 40px 64px !important;
 }
}
