/*
 Theme Name:     Divi Child
 Theme URI:      https://historias.umc.com
 Description:    Tema de personalização para os sites desenvolvidos pela UMC - Sebrae Minas
 Author:         Weslley Matos
 Author URI:     https://sebraemg.com.br
 Template:       Divi
 Version:        1.0.0
*/
  
/* Início da customização */
body {
    overflow-x: hidden;
}
/* Google+ to SebraePlay */
/*.et-social-google-plus a.icon:before { 
    background: url('https://sebraemg.com.br/wp-content/uploads/2023/03/sebrae-play-branco.svg');
    content: '' !important; 
    display: inline-block !important;  
    background-repeat: no-repeat;
}
footer .et_pb_social_media_follow li:last-child a.icon:before {
    height: 20px!important;
    width: 20px!important;
    top: 6px!important;
}*/

/* dropdown menu size */
.et_pb_menu_0.et_pb_menu .nav li ul, .et_pb_menu_0.et_pb_menu .et_mobile_menu, .et_pb_menu_0.et_pb_menu .et_mobile_menu ul {
    width: 280px;}
/* Menu no wrap ul */
.et_pb_menu .et_pb_menu__menu>nav>ul {flex-wrap: nowrap;}
.menu_mobile .et_pb_menu__search-input {
    display: none;
}
.et-push-menu {
    display:none;
}
.et-fb .et-push-menu {
    display:block;
}
.et_pb_menu__search-button {
    cursor:pointer;
}
.et-fixed-padding {
    padding-top: 81px !important;
}
/* Separador para menu principal */
.et-menu-nav .et-menu li:not(:last-child)::after {
    content: "|";
    margin: 0 15px;
    color: #888;
    font-weight: 300;
    opacity: 0.7;
    position: absolute;
    right: -15px;
    top: 40%;
    transform: translateY(-50%);
    pointer-events: none;
}
.dsm_fixed_header_shrink_active .et-menu-nav .et-menu li:not(:last-child)::after {
    margin: 0 15px;
    position: absolute;
    right: -15px;
    top: 50%;
    transform: translateY(-50%);
}

/* Banner Home */
#banner .et_pb_bottom_inside_divider {
    width: 60%!important;
}
#texto-destaque .et_pb_code h2 {
    color: #9285f9;
    font-size: 26px;
    text-align: center;
}
#texto-destaque .et_pb_code .et_pb_text_0_tb_body {
    margin-bottom: 0px;
}

/* Temas Home */
#temas .dipl_list .dipl_list-img_icon {
    width: 80px;
    margin-right: 20px;
    background-color: #2a4fda;
    padding: 20px;
    max-height: 80px;
}

/* Breadcrumb */
/* Oculta o último item do breadcrumb em mobile */
.dipl-breadcrumb-inner li:last-child,
.dipl-breadcrumb-inner li:nth-last-child(2):after {
    display: none!important;
}
@media (max-width: 767px) {
    .dipl_breadcrumb {
        padding-top: 1rem;
    }
}

/* Barra Lateral */
.et_pb_gutters3 .et_pb_column_1_4 .et_pb_widget {
    margin-bottom: 5%!important;
}

:root {
    --swiper-navigation-color: #9285F9;
    --swiper-theme-color: #2A4FDA;
}

#revista .revista-swiper-wrapper { max-width: 980px; margin: 10px auto; }
#revista .revista-swiper-wrapper .swiper { padding: 20px 10px; overflow: hidden; }
#revista .revista-swiper-wrapper .swiper-wrapper { align-items: center; }
#revista .revista-swiper-wrapper .swiper-slide { width: 260px; opacity: 0.35; transition: transform .4s ease, opacity .4s ease; display:flex; justify-content:center; }
#revista .revista-swiper-wrapper .swiper-slide img { width: 100%; display:block; }
#revista .revista-swiper-wrapper .swiper-slide-active { opacity: 1 !important; transform: scale(1.2) !important; z-index:3; }
#revista .revista-swiper-wrapper .swiper-slide-next, .revista-swiper-wrapper .swiper-slide-prev { opacity: 0.35 !important; transform: scale(1) !important; z-index:2; }
#revista .revista-swiper-wrapper .swiper-button-prev, .revista-swiper-wrapper .swiper-button-next { color: #9285F9!important; width:30px!important; height:30px!important; }
@media (max-width:900px){ #revista .revista-swiper-wrapper .swiper-slide{ width:200px; } }
@media (max-width:480px){ #revista .revista-swiper-wrapper .swiper-slide{ width:150px; } }
#revista .revista-swiper-wrapper .swiper-pagination, #revista .revista-swiper-wrapper .swiper-button-next:after, #revista .revista-swiper-wrapper .swiper-button-prev:after { display:none!important; }
#revista .revista-swiper-wrapper .swiper-button-next, #revista .revista-swiper-wrapper .swiper-button-prev { color: var(--swiper-navigation-color, var(--swiper-theme-color)) !important; }
/* Páginas: Revistas, Vídeos e Posts */
.sfp-active-filters {
    background: #f8f9fa;
    padding: 20px;
    border-radius: 10px;
    margin-bottom: 30px;
    border-left: 4px solid #007cba;
}
.sfp-active-filters h4 {
    margin: 0 0 15px 0;
    color: #333;
    font-size: 18px;
}
.sfp-filters-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}
.sfp-filter-badge {
    background: #007cba;
    color: white;
    padding: 8px 15px;
    border-radius: 20px;
    font-size: 14px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
}
.sfp-clear-filters {
    background: #6c757d;
    color: white;
    padding: 8px 15px;
    border-radius: 20px;
    text-decoration: none;
    font-size: 14px;
    margin-left: 10px;
    transition: background 0.3s ease;
}
.sfp-clear-filters:hover {
    background: #5a6268;
    color: white;
    text-decoration: none;
}
/* Paginação */
  .sfp-posts-container .sfp-pagination,
  .sfp-videos-container .sfp-pagination {
      text-align: center !important;
      margin: 0px !important;
      padding: 20px 0 !important;
      clear: both !important;
      width: 100% !important;
      display: block !important;
  }
  
  .sfp-posts-container .sfp-pagination ul,
  .sfp-videos-container .sfp-pagination ul {
      list-style: none !important;
      padding: 0 !important;
      margin: 0 auto !important;
      display: inline-block !important;
  }
  
  .sfp-posts-container .sfp-pagination li,
  .sfp-videos-container .sfp-pagination li {
      display: inline-block !important;
      margin: 0 3px !important;
      padding: 0 !important;
      list-style: none !important;
  }
  
  .sfp-posts-container .sfp-pagination .page-numbers,
  .sfp-videos-container .sfp-pagination .page-numbers {
      display: inline-block !important;
      padding: 12px 18px !important;
      margin: 0 2px !important;
      text-decoration: none !important;
      border-radius: 8px !important;
      font-weight: 600 !important;
      font-size: 14px !important;
      line-height: 1 !important;
      min-width: 45px !important;
      text-align: center !important;
      transition: all 0.3s ease !important;
  }

  .sfp-posts-container .sfp-pagination .page-numbers a,
  .sfp-videos-container .sfp-pagination .page-numbers a {
      border: 2px solid #e2e8f0 !important;
      color: #4a5568 !important;
      background: white !important;
  }  
  
  .sfp-posts-container .sfp-pagination .page-numbers.current,
  .sfp-videos-container .sfp-pagination .page-numbers.current {
      background: #007cba !important;
      color: white !important;
      border: 2px solid #007cba !important;
  }
  
  .sfp-posts-container .sfp-pagination .page-numbers a:hover,
  .sfp-videos-container .sfp-pagination .page-numbers a:hover {
      background: #007cba !important;
      color: white !important;
      border: 2px solid #007cba !important;
      transform: translateY(-2px) !important;
  }
  
  .sfp-posts-container .sfp-pagination .page-numbers.prev,
  .sfp-posts-container .sfp-pagination .page-numbers.next,
  .sfp-videos-container .sfp-pagination .page-numbers.prev,
  .sfp-videos-container .sfp-pagination .page-numbers.next, {
      font-weight: 600 !important;
  }
  
  .sfp-posts-container .sfp-pagination .page-numbers.dots,
  .sfp-videos-container .sfp-pagination .page-numbers.dots {
      border: none !important;
      background: transparent !important;
  }
  
  .sfp-posts-container .sfp-pagination .page-numbers.dots:hover,
  .sfp-videos-container .sfp-pagination .page-numbers.dots:hover {
      background: transparent !important;
      color: #4a5568 !important;
      transform: none !important;
  }
  
  /* Responsivo */
  @media (max-width: 768px) {
      .sfp-posts-container .sfp-pagination .page-numbers,
      .sfp-videos-container .sfp-pagination .page-numbers {
          padding: 10px 14px !important;
          min-width: 40px !important;
          font-size: 13px !important;
          margin: 0 1px !important;
      }      
      .sfp-posts-container .sfp-pagination li,
      .sfp-videos-container .sfp-pagination li {
          margin: 0 1px !important;
      }
  }  
  @media (max-width: 480px) {
      .sfp-posts-container .sfp-pagination .page-numbers,
      .sfp-videos-container .sfp-pagination .page-numbers {
          padding: 8px 12px !important;
          min-width: 35px !important;
          font-size: 12px !important;
      }
  }

/* No results */
.sfp-no-results {
    text-align: center;
    padding: 60px 20px;
    background: #f8f9fa;
    border-radius: 10px;
}
.sfp-no-results h3 {
    color: #6c757d;
    margin-bottom: 15px;
}
.sfp-clear-button {
    background: #007cba;
    color: white;
    padding: 12px 25px;
    text-decoration: none;
    border-radius: 5px;
    display: inline-block;
    margin-top: 15px;
    transition: background 0.3s ease;
}
.sfp-clear-button:hover {
    background: #0056b3;
    color: white;
    text-decoration: none;
}
/* Melhorias para os layouts do Divi */
.dsm_card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.dsm_card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(0,0,0,0.15);
}
.dsm_card_badge_text {
    position: absolute;
    bottom: 20px;
    right: 20px;
    font-weight: bold;
    transition: background-color 0.3s ease;
}
.dsm_card_badge_text:hover {
    color: #fff;
    background-color: #9285f9 !important;
}
.et_overlay {
    transition: opacity 0.3s ease;
}
.dsm_card:hover .et_overlay {
    opacity: 0.8;
}

/* Documentários */
#doc-tab table {
    border: none;
}
#doc-tab table td {
    background-color: #f1f1f1;
    padding: 20px;
}
#doc-tab blockquote {
    padding: 40px;
    background-color: #F1F1F1;
    margin-bottom: 20px;
    border-color:#9285f9!important;
}
#doc-tab .dipl_tabs .dipl_tabs_item {
    padding: 0px!important;
}

/* Responsivo */
@media (max-width: 980px) {
    .et_pb_row_4col {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 20px;
    }
    
    .et_pb_column_1_4 {
        width: 100% !important;
        margin-right: 0 !important;
    }
    
    #page-revistas .et_pb_row_2_tb_body {
        display: grid !important;
        /*grid-template-columns: repeat(2, 1fr) !important;*/
        gap: 20px;
    }
    
    .et_pb_column_1_3 {
        width: 100% !important;
        margin-right: 0 !important;
    }
    
    .sfp-filters-list {
        flex-direction: column;
        align-items: flex-start;
    }
    
    .sfp-clear-filters {
        margin-left: 0;
        margin-top: 10px;
    }

    #banner .et_pb_slides .et_pb_container {
        height: 340px!important;
    }
}
@media (max-width: 480px) {
    .et_pb_row_4col,
    .et_pb_row_2_tb_body {
        grid-template-columns: 1fr !important;
    }
    
    .et_pb_salvattore_content[data-columns="2"] {
        grid-template-columns: 1fr !important;
    }

    #banner .et_pb_slides .et_pb_container {
        height: 200px!important;
    }
}
/* Ajustes Setores */
.dipl_button .et_pb_with_border .dipl_button_link {
    border: 2px solid #9285F9 !important;
}
/* Ajuste Ícones Temas */
.dipl_list .dipl_list-icon .et-pb-icon {
    text-align: center!important;
}
.dipl_list .dipl_list-icon {
    margin-right: 15px!important;
}
.dipl_list .dipl_list_item {
    transform: skewX(-10deg);
    transition: all 0.2s ease-in-out;
}
.dipl_list .dipl_list-item_text {
    transform: skewX(0deg);
    transition: all 0.2s ease-in-out;
}
.dipl_list .dipl_list_item:hover,
.dipl_list .dipl_list-item_text:hover {
    transition: all 0.2s ease-in-out;
    transform: skewX(0deg);
}

/* Conte sua história */
.wpcf7 .aiowps-captcha-equation {
    padding-block: 20px;
}

/*** Responsive Styles Large Desktop And Above ***/
@media all and (min-width: 1405px) {
}
 
/*** Responsive Styles Standard Desktop Only ***/
@media all and (min-width: 1100px) and (max-width: 1405px) {
    .et_pb_gutters3 .et_pb_column_1_3.et_pb_column_0_tb_header {
        width: 20%!important;
    }
    .et_pb_gutters3 .et_pb_column_1_3.et_pb_column_1_tb_header {
        width: 40%!important;
    }
    .et_pb_gutters3 .et_pb_column_1_3.et_pb_column_2_tb_header {
        width: 40%!important;
    }
    #menu-principal .et-menu li {
        font-size: 14px;
    }
}
/*** Responsive Styles Large Desktop And Above ***/
@media all and (min-width: 981px) {
}
 
/*** Responsive Styles Tablet And Below ***/
@media all and (max-width: 980px) {
}
 
/*** Responsive Styles Tablet Only ***/
@media all and (min-width: 768px) and (max-width: 980px) {
 
}
 
/*** Responsive Styles Smartphone Only ***/
@media all and (max-width: 767px) {
}
 
/*** Responsive Styles Smartphone Portrait ***/
@media all and (max-width: 479px) {
}

/* CSS para o filtro responsivo - Versão corrigida */
@media (max-width: 980px) { /* Tablet e Mobile */
    
    /* Barra lateral */
    .barra-filtro {
        position: fixed;
        top: 80px;
        left: 0;
        width: 320px;
        max-width: 85vw;
        height: 100vh;
        height: 100dvh; /* Usa altura dinâmica do viewport */
        max-height: -webkit-fill-available; /* Para mobile Safari */
        background: white;
        z-index: 99999;
        overflow-y: auto;
        padding: 30px 20px 40px; /* Mais padding na parte inferior */
        box-shadow: 2px 0 15px rgba(0,0,0,0.15);
        margin: 0 !important;
        transform: translateX(-100%);
        transition: transform 0.3s ease-in-out;
        display: block !important;
        visibility: hidden;
        box-sizing: border-box; /* Inclui padding na altura */
    }
    
    /* Estado aberto */
    .barra-filtro.filtro-visivel {
        transform: translateX(0);
        visibility: visible;
    }
    
     /* Botão para fechar */
    .fechar-filtro {
        position: sticky; /* Fica visível ao rolar */
        top: 10px;
        right: 10px;
        float: right;
        background: #f5f5f5;
        border: none;
        border-radius: 50%;
        font-size: 22px;
        color: #555;
        cursor: pointer;
        line-height: 1;
        width: 36px;
        height: 36px;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: all 0.2s;
        z-index: 100000;
        margin-bottom: 10px;
        margin-left: 10px;
    }
    
    /* Garante espaço seguro para conteúdo */
    .barra-filtro-content {
        padding-bottom: 20px;
    }
    
    /* Melhora a rolagem no iOS */
    .barra-filtro {
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain;
    }
    
    /* Ajusta para dispositivos com notch/safe area */
    @supports (padding: max(0px)) {
        .barra-filtro {
            padding-top: max(30px, env(safe-area-inset-top));
            padding-left: max(20px, env(safe-area-inset-left));
            padding-right: max(20px, env(safe-area-inset-right));
            padding-bottom: max(40px, env(safe-area-inset-bottom));
        }
    }
    
    /* Ajusta seções para economizar espaço */
    .barra-filtro section {
        margin-bottom: 15px;
    }
    

    /* Previne scroll do body */
    body.menu-aberto {
        overflow: hidden;
        position: fixed;
        width: 100%;
        height: 100%;
    }
}

/* Em desktop, mantém o comportamento normal */
@media (min-width: 981px) {
    .btn-filtro,
    .fechar-filtro {
        display: none !important;
    }
    
    .barra-filtro {
        visibility: visible !important;
        transform: none !important;
        position: relative !important;
        height: auto !important;
        box-shadow: none !important;
        padding: 0 !important;
        overflow: visible !important;
    }
}

/* Para telas muito pequenas */
@media (max-width: 360px) {
    .barra-filtro {
        width: 100vw;
        max-width: 100vw;
        padding: 25px 15px 35px;
    }
    
    .barra-filtro li {
        margin-bottom: 8px;
    }
    
    .barra-filtro h1 {
        font-size: 20px;
    }
    
    .barra-filtro h2 {
        font-size: 17px;
    }
}

/* Bloco Texto */
#doc-tab .bloco-texto,
#doc-tab .infografico {
    padding-top: 20px;
}

/* Bloco números - Documentário  */
.blocos-numeros {
    display: flex;
    gap: 20px;
    margin: 20px 0;
}

.bloco-numero-1, .bloco-numero-2 {
    flex: 1;
    padding: 15px;
    background: #f5f5f5;
    border-radius: 5px;
}

.infografico img {
    max-width: 100%;
    height: auto;
}