/**
 * ═══════════════════════════════════════════════════════════════════════════
 * ONEMUNDO - FIX POSICIONAMENTO
 * Corrige páginas sendo puxadas para cima
 * Gerado: 2025-12-21 12:40:46
 * ═══════════════════════════════════════════════════════════════════════════
 */

/* ═══════════════════════════════════════════════════════════════════════════
   RESET GLOBAL
   ═══════════════════════════════════════════════════════════════════════════ */

html, body {
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: hidden !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   WRAPPERS PRINCIPAIS - Garantir que não tenham margin negativo
   ═══════════════════════════════════════════════════════════════════════════ */

#page,
#wrapper,
.page-wrapper,
main,
.main-content,
#main,
.container,
.container-fluid {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   CONTEÚDO PRINCIPAL - Espaçamento correto
   ═══════════════════════════════════════════════════════════════════════════ */

#content {
    padding-top: 25px !important;
    margin-top: 0 !important;
    min-height: 50vh;
}

/* Quando há sidebar */
#content.col-sm-9,
#content.col-md-9,
#content.col-lg-9 {
    padding-top: 25px !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   BREADCRUMB
   ═══════════════════════════════════════════════════════════════════════════ */

.breadcrumb {
    margin-top: 20px !important;
    margin-bottom: 15px !important;
    padding: 12px 15px !important;
}

/* Home não precisa de breadcrumb */
.route-common-home .breadcrumb {
    display: none !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   HEADER - Garantir posição correta
   ═══════════════════════════════════════════════════════════════════════════ */

header,
#header,
.header {
    position: relative !important;
    z-index: 1000;
}

/* Se header for sticky */
header.sticky,
header.fixed,
#header.sticky,
.header-sticky {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 1000 !important;
}

/* Compensar header fixo */
body.header-fixed #page,
body.sticky-header #page,
body.header-sticky #page {
    padding-top: 120px !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   PÁGINAS ESPECÍFICAS
   ═══════════════════════════════════════════════════════════════════════════ */

/* HOME */
.route-common-home #content {
    padding-top: 0 !important;
}

.route-common-home #om-membership-banner {
    margin-top: 20px !important;
    margin-bottom: 20px !important;
}

/* CHECKOUT */
.route-checkout-checkout #content,
#checkout-checkout {
    padding-top: 30px !important;
    margin-top: 0 !important;
}

#checkout-checkout .panel {
    margin-top: 0 !important;
    margin-bottom: 20px !important;
}

#checkout-checkout .panel:first-of-type {
    margin-top: 0 !important;
}

/* CARRINHO */
.route-checkout-cart #content {
    padding-top: 25px !important;
}

/* PRODUTO */
.route-product-product #content {
    padding-top: 25px !important;
}

.route-product-product .product-info {
    margin-top: 0 !important;
}

/* CATEGORIA */
.route-product-category #content {
    padding-top: 20px !important;
}

/* BUSCA */
.route-product-search #content {
    padding-top: 20px !important;
}

/* CONTA */
.route-account-account #content,
.route-account-login #content,
.route-account-register #content,
.route-account-order #content {
    padding-top: 25px !important;
}

/* INFORMAÇÕES */
.route-information-information #content {
    padding-top: 25px !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   JOURNAL3 ESPECÍFICO
   ═══════════════════════════════════════════════════════════════════════════ */

.page-title,
.title.page-title,
h1.title {
    margin-top: 15px !important;
    margin-bottom: 15px !important;
}

.j3-layout-top,
.journal3-layout-top,
[class*="j3-layout"] {
    margin-top: 0 !important;
}

.j-slideshow,
.module-master_slider,
[class*="slideshow"] {
    margin-top: 0 !important;
}

.module,
[class*="module-"],
.j-module {
    margin-top: 0 !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   ALERTAS E MENSAGENS
   ═══════════════════════════════════════════════════════════════════════════ */

.alert,
.alert-dismissible,
.notification-bar,
.warning,
.success {
    position: relative !important;
    margin-top: 10px !important;
    margin-bottom: 15px !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   ROWS E COLUNAS
   ═══════════════════════════════════════════════════════════════════════════ */

.row:first-child {
    margin-top: 0 !important;
}

#column-left,
#column-right {
    padding-top: 0 !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   BANNER MEMBERSHIP
   ═══════════════════════════════════════════════════════════════════════════ */

#om-membership-banner {
    position: relative !important;
    margin: 20px 15px !important;
    z-index: 100 !important;
    order: -9999 !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   MOBILE RESPONSIVE
   ═══════════════════════════════════════════════════════════════════════════ */

@media (max-width: 991px) {
    #content {
        padding-top: 20px !important;
    }
    
    .breadcrumb {
        margin-top: 15px !important;
    }
    
    body.header-fixed #page,
    body.sticky-header #page {
        padding-top: 100px !important;
    }
}

@media (max-width: 767px) {
    #content {
        padding-top: 15px !important;
    }
    
    .breadcrumb {
        margin-top: 10px !important;
        padding: 8px 12px !important;
    }
    
    body.header-fixed #page,
    body.sticky-header #page {
        padding-top: 80px !important;
    }
    
    #om-membership-banner {
        margin: 10px !important;
    }
}

/* ═══════════════════════════════════════════════════════════════════════════
   FORÇAR NENHUM MARGIN-TOP NEGATIVO
   ═══════════════════════════════════════════════════════════════════════════ */

/* Elementos que frequentemente têm margin negativo problemático */
.panel,
.card,
.box,
.product-info,
.product-layout,
section,
article,
aside {
    margin-top: 0 !important;
}

/* Exceção: badges podem ter margin negativo */
.count-badge,
.wishlist-badge,
.compare-badge,
.cart-badge,
[class*="badge"] {
    /* Manter margin original */
    margin-top: revert;
}

/* ═══════════════════════════════════════════════════════════════════════════
   FIM
   ═══════════════════════════════════════════════════════════════════════════ */
