/*
Theme Name: Divi Plus Security Solutions
Theme URI: https://diviextended.com/product/divi-plus/
Description: Divi Plus plugin based ready-to-use Divi child theme designed for Security Solutions.
Author: Elicus
Author URI: https://elicus.com/
Template: Divi
Version: 1.0.2
License: GPL v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

/* OPNV Portfolio — Agency2-like grid (Divi 5 BC float broken) */
.dpa-filter-portfolio .et_pb_portfolio_filters ul {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px 8px;
  list-style: none !important;
  margin: 0 0 2.5rem !important;
  padding: 0 !important;
}
.dpa-filter-portfolio .et_pb_portfolio_filters li {
  float: none !important;
  display: inline-block !important;
  width: auto !important;
  margin: 0 !important;
  list-style: none !important;
}
.dpa-filter-portfolio .et_pb_portfolio_filters li::marker { content: "" !important; }
.dpa-filter-portfolio .et_pb_portfolio_filters li a {
  display: inline-block !important;
  padding: 10px 22px !important;
  border-radius: 999px !important;
  background: #3c72fc !important;
  color: #fff !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
}
.dpa-filter-portfolio .et_pb_portfolio_filters li a.active,
.dpa-filter-portfolio .et_pb_portfolio_filters li a:hover {
  background: #e0009b !important;
  color: #fff !important;
}
.dpa-filter-portfolio .et_pb_portfolio_items {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px 24px;
}
.dpa-filter-portfolio .et_pb_portfolio_item {
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
  position: relative !important;
}
.dpa-filter-portfolio .et_portfolio_image {
  border-radius: 20px;
  overflow: hidden;
  display: block;
}
.dpa-filter-portfolio .et_portfolio_image img {
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
.dpa-filter-portfolio .et_pb_module_header,
.dpa-filter-portfolio h2,
.dpa-filter-portfolio h4 {
  margin-top: 0.75rem !important;
  color: #fff !important;
}
.dpa-filter-portfolio .post-meta,
.dpa-filter-portfolio .post-meta a {
  color: #bababa !important;
}
@media (max-width: 980px) {
  .dpa-filter-portfolio .et_pb_portfolio_items {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 767px) {
  .dpa-filter-portfolio .et_pb_portfolio_items {
    grid-template-columns: 1fr;
  }
}

/* OPNV-HERO-MOBILE-RESTORE — full-width stacked hero on tablet/phone */
@media only screen and (max-width: 980px) {
  body.home .et_pb_section_0:not([class*="tb"]) > .et_pb_row_0.et_pb_row {
    flex-direction: column !important;
    align-items: stretch !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    box-sizing: border-box !important;
  }
  body.home .et_pb_section_0:not([class*="tb"]) > .et_pb_row_0 > .et_pb_column {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 auto !important;
  }
  body.home .et_pb_section_0:not([class*="tb"]) .dipl_double_color_heading_0 {
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  body.home .et_pb_section_0:not([class*="tb"]) .dipl_double_color_heading_0 .dipl_pre_text,
  body.home .et_pb_section_0:not([class*="tb"]) .dipl_double_color_heading_0 .dipl_main_text,
  body.home .et_pb_section_0:not([class*="tb"]) .dipl_double_color_heading_0 .dipl_post_text {
    font-size: 28px !important;
    line-height: 1.3em !important;
  }
  body.home .et_pb_section_0:not([class*="tb"]) .dipl_separator_0 {
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  body.home .et_pb_section_0:not([class*="tb"]) .dipl_separator_0 .dipl_separator_container,
  body.home .et_pb_section_0:not([class*="tb"]) .dipl_separator_0 .dipl-text-wrapper,
  body.home .et_pb_section_0:not([class*="tb"]) .dipl_separator_0 .dipl-text-wrapper > div,
  body.home .et_pb_section_0:not([class*="tb"]) .dipl_separator_0 .dipl-text-wrapper p {
    max-width: 100% !important;
    width: auto !important;
    flex: 1 1 auto !important;
    text-align: left !important;
  }
  body.home .et_pb_section_0:not([class*="tb"]) .dipl_separator_0 .dipl_separator_container.align_right {
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    width: 100% !important;
  }
  body.home .et_pb_section_0:not([class*="tb"]) .dipl_button_item_0 a {
    white-space: nowrap !important;
  }
}
@media only screen and (max-width: 480px) {
  body.home .et_pb_section_0:not([class*="tb"]) .dipl_double_color_heading_0 .dipl_pre_text,
  body.home .et_pb_section_0:not([class*="tb"]) .dipl_double_color_heading_0 .dipl_main_text,
  body.home .et_pb_section_0:not([class*="tb"]) .dipl_double_color_heading_0 .dipl_post_text {
    font-size: 24px !important;
  }
}
