/*
 * Native Divi card/content parity layer for the Sowillo homepage.
 * Load after divi-original-home.css and divi-home-responsive-fixes.css.
 */

/* Woo shortcodes render floated product list items inside Text modules. */
body .sowillo-product-card,
body .sowillo-product-card .et_pb_text_inner,
body .sowillo-product-card .woocommerce,
body .sowillo-product-card ul.products {
  display: flow-root !important;
  height: auto !important;
  min-height: 1px !important;
}

body .sowillo-product-card ul.products::before,
body .sowillo-product-card ul.products::after {
  display: table !important;
  clear: both !important;
  content: "" !important;
}

body .sowillo-product-card ul.products li.product {
  position: relative !important;
  float: none !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  clear: both !important;
}

/* Source desktop: product 1822 is a centered half-row card, not a third. */
@media (min-width: 981px) {
  body .sowillo-products-desktop-a > .et_pb_row,
  body .et_pb_row.sowillo-products-desktop-a {
    display: flex !important;
    justify-content: center !important;
  }

  body .et_pb_row.sowillo-products-desktop-a > .et_pb_column_empty {
    display: none !important;
  }

  body .et_pb_row.sowillo-products-desktop-a > .et_pb_column:not(.et_pb_column_empty) {
    flex: 0 0 calc(50% - 15px) !important;
    width: calc(50% - 15px) !important;
    max-width: 595px !important;
    margin: 0 auto !important;
  }
}

/* Divi node CSS currently wins text alignment; restore the centered source title. */
body .sowillo-products-title,
body .sowillo-products-title .et_pb_text_inner,
body .sowillo-products-title h1 {
  width: 100% !important;
  margin-right: auto !important;
  margin-left: auto !important;
  text-align: center !important;
}

/* Source capability cards have thin blue outlines and inset content. */
body .et_pb_row.sowillo-capabilities-row {
  align-items: stretch !important;
}

body .et_pb_row.sowillo-capabilities-row > .et_pb_column:nth-child(1),
body .et_pb_row.sowillo-capabilities-row > .et_pb_column:nth-child(2) {
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: 270px !important;
  padding: 28px 30px !important;
  border: 1px solid #2B6FB1 !important;
  border-radius: 4px !important;
  background: #FFFFFF !important;
}

body .et_pb_row.sowillo-capabilities-row > .et_pb_column:nth-child(1) .et_pb_button_module_wrapper,
body .et_pb_row.sowillo-capabilities-row > .et_pb_column:nth-child(2) .et_pb_button_module_wrapper {
  margin-top: auto !important;
}

body .sowillo-capability h3,
body .sowillo-capability h3 a,
body .sowillo-guide-card h3,
body .sowillo-guide-card h3 a {
  color: #162C5A !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
}

body .sowillo-capability p,
body .sowillo-guide-card p {
  color: #3c4b71 !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
}

/* Source guide cards are the outlined second and third columns. */
body .et_pb_row.sowillo-guides-cards {
  align-items: stretch !important;
}

body .et_pb_row.sowillo-guides-cards > .et_pb_column:nth-child(2),
body .et_pb_row.sowillo-guides-cards > .et_pb_column:nth-child(3) {
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: 290px !important;
  padding: 28px 30px !important;
  border: 1px solid #2B6FB1 !important;
  border-radius: 4px !important;
  background: #FFFFFF !important;
}

body .et_pb_row.sowillo-guides-cards > .et_pb_column:nth-child(2) .et_pb_button_module_wrapper,
body .et_pb_row.sowillo-guides-cards > .et_pb_column:nth-child(3) .et_pb_button_module_wrapper {
  margin-top: auto !important;
}

/* Exact source attachment 2935, with its white 0.8 overlay and bottom-center cover. */
body .et_pb_section.sowillo-team {
  position: relative !important;
  background-color: #fafbfb !important;
  background-image: linear-gradient(rgba(255,255,255,.8), rgba(255,255,255,.8)), url("/wp-content/uploads/2022/01/adi-goldstein-EUsVwEOsblE-unsplash_1.jpg") !important;
  background-position: bottom center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-attachment: fixed !important;
}

/* force_fullwidth from conversion enlarged ~200px source portraits to column width. */
body .sowillo-team-image {
  width: 210px !important;
  max-width: 210px !important;
  margin-right: auto !important;
  margin-left: auto !important;
}

body .sowillo-team-image .et_pb_image_wrap,
body .sowillo-team-image img {
  display: block !important;
  width: 210px !important;
  max-width: 210px !important;
  height: 210px !important;
  max-height: 210px !important;
  border: 2px solid #FF922D !important;
  border-radius: 50% !important;
  object-fit: cover !important;
}

body .sowillo-team-card {
  max-width: 330px !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding: 12px 20px 26px !important;
  text-align: center !important;
}

/* Native D5 Blog adds an inner .et_pb_blog_posts wrapper. Grid that wrapper. */
body .sowillo-news-blog .et_pb_ajax_pagination_container {
  display: block !important;
  width: 100% !important;
}

body .sowillo-news-blog .et_pb_ajax_pagination_container > .et_pb_blog_posts.et_grid_module {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 24px !important;
  width: 100% !important;
}

body .sowillo-news-blog .et_pb_blog_posts.et_grid_module > article.et_pb_post {
  float: none !important;
  display: flex !important;
  flex-direction: column !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

body .sowillo-news-blog .entry-featured-image-url,
body .sowillo-news-blog .entry-featured-image-url img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  border-radius: 4px !important;
}

body .sowillo-news-blog .entry-title,
body .sowillo-news-blog .entry-title a {
  color: #162C5A !important;
  font-size: 17px !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
}

body .sowillo-news-blog .post-content,
body .sowillo-news-blog .post-content p {
  color: #3c4b71 !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
}

body .sowillo-news-blog .more-link {
  align-self: flex-start !important;
  margin-top: auto !important;
  color: #2B6FB1 !important;
  border: 1px solid #2B6FB1 !important;
  background: transparent !important;
  font-size: 14px !important;
  text-transform: uppercase !important;
}

/*
 * Elementor source says "justified" with eight images. Neutralize Divi's
 * fullwidth-slider positioning so capture timing cannot leave a 686px blank box.
 */
body .sowillo-production-gallery.et_pb_gallery,
body .sowillo-production-gallery .et_pb_gallery_items {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
}

body .sowillo-production-gallery .et_pb_gallery_items {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin-top: 30px !important;
}

body .sowillo-production-gallery .et_pb_gallery_item {
  position: static !important;
  float: none !important;
  display: block !important;
  width: auto !important;
  margin: 0 !important;
  opacity: 1 !important;
  transform: none !important;
}

body .sowillo-production-gallery .et_pb_gallery_image,
body .sowillo-production-gallery .et_pb_gallery_image a {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  padding: 0 !important;
  overflow: hidden !important;
}

body .sowillo-production-gallery .et_pb_gallery_image {
  position: relative !important;
}

body .sowillo-production-gallery .et_pb_gallery_image a {
  position: relative !important;
  inset: auto !important;
  aspect-ratio: 2.2 / 1 !important;
}

body .sowillo-production-gallery .et_pb_gallery_image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .sowillo-news-blog .et_pb_ajax_pagination_container > .et_pb_blog_posts.et_grid_module {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767px) {
  body .et_pb_row.sowillo-capabilities-row > .et_pb_column:nth-child(1),
  body .et_pb_row.sowillo-capabilities-row > .et_pb_column:nth-child(2),
  body .et_pb_row.sowillo-guides-cards > .et_pb_column:nth-child(2),
  body .et_pb_row.sowillo-guides-cards > .et_pb_column:nth-child(3) {
    min-height: 0 !important;
    margin-bottom: 18px !important;
    padding: 22px 20px !important;
  }

  body .sowillo-team-image,
  body .sowillo-team-image .et_pb_image_wrap,
  body .sowillo-team-image img {
    width: 199px !important;
    max-width: 199px !important;
    height: 199px !important;
    max-height: 199px !important;
  }

  body .sowillo-news-blog .et_pb_ajax_pagination_container > .et_pb_blog_posts.et_grid_module {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  body .sowillo-production-gallery .et_pb_gallery_items {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
}

/* Source home cards use centered compact CTAs, full-bleed images, orange prices. */
body .sowillo-product-card ul.products li.product{padding:0 0 12px!important;text-align:center!important;border-radius:10px!important}
body .sowillo-product-card ul.products li.product img{width:100%!important;margin:0!important}
body .sowillo-product-card ul.products li.product .woocommerce-loop-product__title{font:400 20px/1.4 Roboto,sans-serif!important;color:#162c5a!important;padding:12px 10px 5px!important}
body .sowillo-product-card ul.products li.product .price{display:block!important;color:#ff8329!important;font:600 18px/1.6 Roboto,sans-serif!important;margin:0!important}
body .sowillo-product-card ul.products li.product>a.button{display:table!important;width:auto!important;margin:14px auto 0!important;padding:8px 18px!important;text-transform:uppercase!important}
body .et_pb_section.sowillo-products-heading{padding-top:40px!important;padding-bottom:24px!important}
body .et_pb_section.sowillo-products-cta{padding-top:24px!important;padding-bottom:38px!important}
body .et_pb_section.sowillo-production{padding-top:50px!important;padding-bottom:38px!important}
body .et_pb_section.sowillo-guides{padding-top:40px!important;padding-bottom:38px!important}
body .et_pb_section.sowillo-team{padding-top:40px!important;padding-bottom:30px!important}
body .et_pb_section.sowillo-latest-news{padding-top:40px!important;padding-bottom:92px!important}
@media(min-width:981px){body .et_pb_row.sowillo-products-desktop-b{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:20px!important}body .et_pb_row.sowillo-products-desktop-b>.et_pb_column{width:100%!important;margin:0!important}}
@media(max-width:767px){body .et_pb_section.sowillo-products-heading,body .et_pb_section.sowillo-production,body .et_pb_section.sowillo-guides,body .et_pb_section.sowillo-latest-news{padding-top:20px!important;padding-bottom:20px!important}}

/* Measured against the actual original reference at 1265px content width. */
body .sowillo-team-title,body .sowillo-team-title .et_pb_text_inner,body .sowillo-team-title h2{text-align:center!important}
body .sowillo-capability h3,body .sowillo-capability h3 a,body .sowillo-guide-card h3,body .sowillo-guide-card h3 a{font-weight:700!important}
@media(min-width:981px){
 body .et_pb_row.sowillo-capabilities-row{display:grid!important;grid-template-columns:30.89% 30.89% 38.22%!important;gap:0!important}
 body .et_pb_row.sowillo-capabilities-row>.et_pb_column{width:auto!important;max-width:none!important;margin:0!important}
 body .et_pb_row.sowillo-capabilities-row>.et_pb_column:nth-child(1),body .et_pb_row.sowillo-capabilities-row>.et_pb_column:nth-child(2){margin:0 12px!important;min-height:292px!important;padding:28px 30px!important}
 body .et_pb_row.sowillo-capabilities-row>.et_pb_column:nth-child(3){padding-left:22px!important;padding-right:50px!important}
 body .et_pb_row.sowillo-guides-cards{display:grid!important;grid-template-columns:38% 31% 31%!important;gap:0!important}
 body .et_pb_row.sowillo-guides-cards>.et_pb_column{width:auto!important;margin:0!important}
 body .et_pb_row.sowillo-guides-cards>.et_pb_column:first-child{padding:0 50px 0 22px!important;align-self:center!important}
 body .et_pb_row.sowillo-guides-cards>.et_pb_column:nth-child(2),body .et_pb_row.sowillo-guides-cards>.et_pb_column:nth-child(3){margin:0 12px!important}
}
@media(max-width:767px){
 body .sowillo-header-social li{margin:0 0 0 8px!important}
 body .sowillo-header-social a.icon{width:20px!important;height:20px!important;line-height:20px!important}
 body .sowillo-header-social a.icon::before{width:20px!important;height:20px!important;line-height:20px!important}
 body .sowillo-header-nav .sowillo-main-menu .et_pb_menu__wrap{flex-wrap:nowrap!important}
 body .sowillo-header-nav .sowillo-main-menu .et_mobile_nav_menu{width:auto!important;order:1!important}
 body .sowillo-header-nav .sowillo-main-menu .et_pb_menu__search-button{order:2!important;margin-left:18px!important}
 body .et_pb_section.sowillo-header-nav,body .sowillo-header-nav>.et_pb_row.sowillo-header-row,body .sowillo-header-nav .sowillo-main-menu,body .sowillo-header-nav .sowillo-main-menu .et_pb_menu_inner_container,body .sowillo-header-nav .sowillo-main-menu .et_pb_menu__wrap,body .sowillo-header-nav .sowillo-main-menu .et_pb_menu__logo-wrap{height:62.6px!important;min-height:62.6px!important;max-height:62.6px!important}
 body .et_pb_row.sowillo-header-row{padding-left:0!important;padding-right:0!important}
 body .sowillo-header-nav .sowillo-main-menu .et_pb_menu__logo-wrap{margin-left:0!important}
 body .sowillo-hero-slider,body .sowillo-hero-slider .et_pb_slides,body .sowillo-hero-slider .et_pb_slide,body .sowillo-hero-slider .et_pb_container{height:400px!important;min-height:400px!important;max-height:400px!important}
 body .sowillo-hero-slider .et_pb_slide_description{width:100%!important;max-width:none!important;margin:0!important;border-radius:0!important;padding:30px!important}
 body .sowillo-hero-slider .et_pb_slide_content h3{font-size:24px!important;line-height:1.3!important}
}

/* Native Divi module selectors have an ID-specific important color rule. */
body #page-container .sowillo-commerce-archive-title,
body #page-container .sowillo-commerce-archive-title h1{text-align:center!important}
body #page-container .sowillo-commerce-product-grid ul.products li.product .price{color:#ff8329!important;font:600 18px/1.5 Roboto,sans-serif!important}
body #page-container .sowillo-commerce-product-grid ul.products li.product h2.woocommerce-loop-product__title{font:400 20px/1.35 Roboto,sans-serif!important;color:#162c5a!important}
body #page-container .sowillo-commerce-product-grid .onsale{background:#ff8329!important;color:#fff!important;font:400 14px/1.2 Roboto,sans-serif!important;padding:4px 8px!important;min-height:0!important;min-width:0!important;left:8px!important;top:8px!important}
body #page-container .sowillo-commerce-product-price .price{color:#ff8329!important}
body #page-container ul.sowillo-header-social{display:flex!important;justify-content:flex-end!important;align-items:center!important;flex-wrap:nowrap!important;gap:14px!important}
body #page-container ul.sowillo-header-social li{margin:0!important;float:none!important}
body #page-container .sowillo-news-blog .et_pb_image_container{margin:0!important}
@media(max-width:767px){
 body #page-container ul.sowillo-header-social{gap:10px!important}
 body #page-container ul.sowillo-header-social li a.icon,body #page-container ul.sowillo-header-social li a.icon::before{width:20px!important;min-width:20px!important;height:20px!important;line-height:20px!important;margin:0!important}
}
