/*
 Theme Name:     AdoraDiamonds
 Theme URI:      https://www.elegantthemes.com
 Description:    Divi Child Theme
 Author:         Smug Digital
 Author URI:     https://www.elegantthemes.com
 Template:       Divi
 Version:        1.0.0
*/

/* ========================================
   TOKENS / ROOT
======================================== */
:root {
  /* Brand */
  --color-primary: #0c5d98;
  --color-primary-dark: #0a5d84;
  --color-accent: #0e7eb2;
  --color-accent-strong: #0b63c8;
  --color-accent-bright: #1e73ff;

  /* Support */
  --color-success: #4f8900;
  --color-success-light: #7bda00;

  /* Neutrals */
  --color-white: #ffffff;
  --color-black: #000000;
  --color-text-muted: #666666;
  --color-text-light: #999999;
  --color-surface-soft: #f1f1f1;
  --color-surface-alt: #ebeef4;
  --color-surface-tint: #ccd8ee;
  --color-border-soft: #e6edf3;
  --color-border-accent-soft: #bcd6ff;
  --color-info-bg: #eeeeee;
  --color-track: #e4e7ec;
  --color-spinner: #dddddd;

  /* Overlays */
  --color-overlay-primary: #0c5d9880;
  --color-overlay-modal: #ccd8ee80;

  /* Shadows */
  --shadow-soft: 0 6px 9px -3px rgba(14, 126, 178, 0.2);
  --shadow-card: 0 12px 18px -6px rgba(14, 126, 178, 0.3);
  --shadow-badge: 2px 2px 9px 0 rgba(130, 146, 191, 0.3);
  --shadow-filter: 0 8px 30px rgba(0, 0, 0, 0.06);
  --shadow-dropdown: 0 10px 30px rgba(0, 0, 0, 0.15);

  /* Radius */
  --radius-xs: 5px;
  --radius-sm: 10px;
  --radius-md: 20px;
  --radius-pill: 999px;
  --radius-circle: 50%;
   
  /* Spacing / sizing */
  --button-min-width: 250px;
}

/* ========================================
   TRANSITIONS
======================================== */

--transition-fast: .2s ease;
--transition-ui: .3s ease;
--transition-slow: .5s ease;

/* ========================================
   UTILITIES
======================================== */
.user-not-logged-in-content,
.user-logged-in-content {
  display: none;
}

.hidden {
  display: none !important;
}

.display-flex {
  display: flex;
}

.align-items-center {
  align-items: center;
  align-content: center;
}

p.display-inline {
  display: inline;
}

.blue-bg {
  background-color: var(--color-surface-alt) !important;
}

.rounded-border {
  border-radius: var(--radius-sm) !important;
}

.center {
  width: fit-content;
  margin-left: auto !important;
  margin-right: auto !important;
  align-self: center !important;
  justify-self: center !important;
  text-align: center;
}

.min-width-250 {
  min-width: var(--button-min-width);
}

.primary-blue,
.primary-blue p {
  color: var(--color-primary);
}

.accent-blue,
.accent-blue p {
  color: var(--color-accent);
}

.light-grey,
.light-grey p,
.light-grey small {
  color: var(--color-text-muted);
}
small {
    font-size:80%;
}
.m0-bottom,
.m0-bottom p,
p.m0-bottom {
  margin-bottom: 0;
}

.m0-top,
.m0-top p,
p.m0-top {
  margin-top: 0;
}

.m8-bottom,
.m8-bottom p,
p.m8-bottom {
  margin-bottom: 0.5rem;
}

.m8-top,
.m8-top p,
p.m8-top {
  margin-top: 0.5rem;
}

.p0-bottom,
.p0-bottom p,
p.p0-bottom {
  padding-bottom: 0;
}

.p0-top,
.p0-top p,
p.p0-top {
  padding-top: 0;
}

.p8-bottom,
.p8-bottom p,
p.p8-bottom {
  padding-bottom: 0.5rem;
}

/* ========================================
   BASE TYPOGRAPHY + FORMS
======================================== */
h1 .sub-heading {
  font-size: 1.1rem;
  line-height: 1.1rem;
  font-weight: 400;
}

input[type="checkbox"] {
  accent-color: var(--color-accent);
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="password"],
textarea,
select,
.et_pb_contact p input,
.et_pb_contact p textarea {
  padding: 6px 8px 6px 4px;
  border: none;
  border-radius: var(--radius-xs);
  background: var(--color-surface-alt) !important;
}

@media (min-width: 768px) {
  h1 .sub-heading {
    font-size: 1.6rem;
    line-height: 1.6rem;
  }
}

/* ========================================
   BUTTONS
======================================== */
.et_pb_button.icon-btn:before {
  position: relative;
  margin: 0 0.25rem;
}

.et_pb_button.icon-btn {
  display: inline-flex;
  justify-content: center;
}

.et_button_no_icon.et_button_icon_visible.et_button_left .et_pb_button,
.et_button_no_icon.et_button_left .et_pb_button:hover,
.et_button_no_icon .et_pb_button,
.et_button_no_icon .et_pb_button:hover,
.et_pb_button {
  padding: 0.7rem 1.375rem;
  background: var(--color-white);
  border-color: var(--color-primary);
  box-shadow: var(--shadow-soft);
  font-weight: 600;
  text-align: center;
}

.et_pb_button:hover {
  background: var(--color-surface-soft);
  border-color: var(--color-primary-dark);
}

.et_pb_button.primary-blue,
body.et_pb_button_helper_class .et_pb_button.primary-blue {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: var(--color-white);
}

.et_pb_button.primary-blue:hover,
body.et_pb_button_helper_class .et_pb_button.primary-blue:hover {
  background: var(--color-primary-dark);
  border-color: var(--color-primary-dark);
  color: var(--color-surface-soft);
}

.et_pb_button.accent-blue,
body.et_pb_button_helper_class .et_pb_button.accent-blue {
  background: var(--color-accent-strong);
  border-color: var(--color-accent-strong);
  color: var(--color-white);
}

.et_pb_button.accent-blue:hover,
body.et_pb_button_helper_class .et_pb_button.accent-blue:hover {
  background: var(--color-primary-dark);
  border-color: var(--color-primary-dark);
  color: var(--color-surface-soft);
}

.et_pb_button.secondary-primary-blue,
body.et_pb_button_helper_class .et_pb_button.secondary-primary-blue {
  background: var(--color-white);
  border-color: var(--color-border-accent-soft);
  color: var(--color-primary-dark);
}

.et_pb_button.secondary-primary-blue:hover,
body.et_pb_button_helper_class .et_pb_button.secondary-primary-blue:hover {
  background: var(--color-primary-dark);
  border-color: var(--color-primary-dark);
  color: var(--color-surface-soft);
}

.et_pb_button.secondary-accent-blue,
body.et_pb_button_helper_class .et_pb_button.secondary-accent-blue,
.et-db #et-boc .et-l .et_pb_button.secondary-accent-blue,
.et-db #et-boc .et-l .et_pb_button.secondary-accent-blue {
  background: var(--color-white);
  border-color: var(--color-border-accent-soft);
  color: var(--color-accent-strong);
}

.et_pb_button.secondary-accent-blue:hover,
body.et_pb_button_helper_class .et_pb_button.secondary-accent-blue:hover,
.et-db #et-boc .et-l .et_pb_button.secondary-accent-blue:hover,
.et-db #et-boc .et-l .et_pb_button.secondary-accent-blue:hover {
    background: var(--color-border-soft);
}

.woocommerce button.alt:disabled,
.woocommerce button.alt .disabled,
.button.alt:disabled {
  background: var(--color-black) !important;
  opacity: 0.2 !important;
  font-weight: 900 !important;
}

/* ========================================
   LAYOUT + VISIBILITY
======================================== */
#page-container {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

#main-content {
  flex: 1;
}

.square-bg-ratio {
  aspect-ratio: 1 / 1;
  align-content: center;
  background-size: cover;
  background-position: center;
}

.floating-content {
  z-index: 2;
  transform: translateY(-35px);
}

.added_to_cart .wc-forward {
  display: none;
}

@media (min-width: 480px) {
  .display-flex-desktop {
    display: flex;
  }
}

@media (max-width: 480px) {
  .hide-mobile {
    display: none;
  }

  .fw-mobile {
    width: 100%;
  }
}

@media (min-width: 480px) and (max-width: 1024px) {
  .hide-tablet {
    display: none;
  }
}

@media (min-width: 1024px) {
  .hide-desktop {
    display: none;
  }
}

@media (min-width: 768px) {
  .floating-content {
    transform: translateY(-75px);
  }
}

@media screen and (min-width: 980px) {
  .floating-content {
    transform: translateY(-120px);
  }
}

/* ========================================
   WOOCOMMERCE GLOBAL
======================================== */
.woocommerce span.onsale,
.woocommerce-page span.onsale,
.et_pb_shop_0.et_pb_shop .woocommerce ul.products li.product .onsale,
.et_pb_shop_0 ul.products li.product .onsale,
.et_pb_shop_1 ul.products li.product .onsale {
  padding: 4px 8px !important;
  background: var(--color-accent-strong);
  box-shadow: var(--shadow-badge);
  border-radius: var(--radius-md) !important;
  color: var(--color-white) !important;
  font-size: 14px;
  line-height: 14px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
}

.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price,
.woocommerce ul.products li.product .price del,
.woocommerce-page ul.products li.product .price del,
.woocommerce ul.products li.product .price ins {
  color: var(--color-text-light);
  font-weight: 600;
}

.entry-summary p.price del {
  opacity: 0;
}

.woocommerce div.product p.price,
.woocommerce-page div.product p.price {
  font-weight: 600;
}

.woocommerce .woocommerce-error,
.woocommerce .woocommerce-message {
  border-radius: var(--radius-md) !important;
  color: var(--color-white);
}

.woocommerce .woocommerce-info,
.woocommerce-info a {
  background: var(--color-info-bg);
  border-radius: var(--radius-xs);
  color: var(--color-text-muted) !important;
}

@media (max-width: 768px) {
  .woocommerce-error li {
    display: flex;
    flex-flow: column;
    flex-direction: column-reverse;
  }
}

@media (min-width: 768px) {
  .et-db #et-boc .et-l .et_pb_wc_images span.onsale {
    margin-left: 10rem !important;
  }
}


/* ========================================
   HOMEPAGE CATEGORY TILES
======================================== */
.homepage-category-img {
  overflow: hidden;
  transition: transform var(--transition-slow), filter var(--transition-slow);
  box-shadow: var(--shadow-card);
  border-radius: var(--radius-md);
}

.homepage-category-img img {
  transition: transform var(--transition-slow), filter var(--transition-slow);
}

.homepage-category-img:hover img {
  transform: scale(1.05);
  filter: brightness(1.08);
}


/* ========================================
   PRODUCT PAGE
======================================== */

.diamond-360-module {
  display: block;
}

.diamond-360-module:empty {
  display: none !important;
}

.diamond-360-wrap {
  position: relative;
  width: 100%;
  max-width: 100%;
  aspect-ratio: 4 / 2.4;
  overflow: hidden;
  border-radius: var(--radius-sm);
  box-shadow: var(--shadow-card);
}

.diamond-360-wrap iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

@media (max-width: 480px) {

  .diamond-360-wrap {
    aspect-ratio: 4 / 2.4;
  }

  .diamond-360-wrap iframe {
    transform: scale(0.75);
    transform-origin: top center;

    width: 133.333%;
    height: 133.333%;
    left: -16.666%;

    max-width: unset !important;
  }

}


/* ========================================
   VARIATION GALLERY
======================================== */

.woo-variation-gallery-wrapper {
  border-radius: var(--radius-sm);
  overflow: hidden;
  box-shadow: var(--shadow-card);
}

.woo-variation-gallery-thumbnail-slider .wvg-thumbnail-next-arrow,
.woo-variation-gallery-thumbnail-slider .wvg-thumbnail-prev-arrow {
  background: var(--color-primary-dark);
  opacity: .5;
  transition: var(--transition-ui);
}

.woo-variation-gallery-thumbnail-slider .wvg-thumbnail-next-arrow:hover,
.woo-variation-gallery-thumbnail-slider .wvg-thumbnail-prev-arrow:hover {
  background: var(--color-accent-strong);
}

.woo-variation-gallery-slider-wrapper .wvg-slider-next-arrow,
.woo-variation-gallery-slider-wrapper .wvg-slider-prev-arrow {
  background: var(--color-primary-dark);
}

.woo-variation-gallery-slider-wrapper .wvg-slider-next-arrow:hover,
.woo-variation-gallery-slider-wrapper .wvg-slider-prev-arrow:hover {
  background: var(--color-accent-strong);
}


/* ========================================
   PRODUCT DETAILS
======================================== */

a.diamond-certificate[href=""],
a.diamond-certificate:not([href]) {
  display: none !important;
}

.product-specs {
  background: var(--color-white);
  border: 1px solid var(--color-border-soft);
  border-radius: var(--radius-sm);
  padding: 1rem;
  margin: 24px 0;
  box-shadow: var(--shadow-card);
}

.product-specs strong {
  color: var(--color-accent);
}


/* ========================================
   PRODUCT TABS
======================================== */

ul.et_pb_tabs_controls {
  background: var(--color-white) !important;
}

.et_pb_wc_tabs {
  box-shadow: var(--shadow-card);
}

.et_pb_tabs_controls li:last-child {
  border-radius: 0 var(--radius-sm) 0 0;
}


/* ========================================
   PRODUCT PAGE MODAL
======================================== */

.adora-modal {
  position: fixed;
  inset: 0;
  background: var(--color-overlay-modal);
  display: none;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(20px);
  z-index: 2147483647;
}

.adora-modal-inner {
  background: var(--color-white);
  width: 90%;
  max-width: 640px;
  padding: 1rem;
  border-radius: var(--radius-md);
  position: relative;
  box-shadow: var(--shadow-card);
  margin: 1rem;
}

.adora-modal-inner .et_pb_column {
  padding: 2rem 1rem;
}

/* Hide product meta fields in enquiry form */

.adora-modal .et_pb_contact_field[data-id="product_name"],
.adora-modal .et_pb_contact_field[data-id="product_id"],
.adora-modal .et_pb_contact_field[data-id="product_url"] {
  display: none !important;
}


/* ========================================
   PRODUCT ARCHIVE / THUMBNAILS
======================================== */

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  text-align: center;
  background: var(--color-white);
  border-radius: var(--radius-sm);
  box-shadow: var(--shadow-soft);
  padding: 0 0 1rem 0;
}

.woocommerce ul.products li.product {
  margin-bottom: 1rem;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size: 1.1rem;
  min-height: 44px;
  padding: .25rem;
}

.woocommerce-page ul.products li.product .button {
  margin-bottom: .5rem;
}

.woocommerce ul.products li.product a img,
.woocommerce-page ul.products li.product a img {
  border-radius: var(--radius-sm) var(--radius-sm) 0 0;
}

.et_shop_image {
  border-radius: var(--radius-sm);
}

.et_overlay {
  background: var(--color-overlay-primary) !important;
  border-radius: var(--radius-sm);
}

.et_shop_image .et_overlay:before,
.et_portfolio_image .et_overlay:before {
  color: var(--color-accent) !important;
}


/* ========================================
   PRODUCT BADGES
======================================== */

.woocommerce ul.products li.product .product-thumb-badge,
.woocommerce-page ul.products li.product .product-thumb-badge {
  position: absolute;
  font-size: 0.75rem;
  padding: 2px 8px;
  border-radius: var(--radius-sm);
  z-index: 4;
  pointer-events: none;
}

.woocommerce ul.products li.product .product-thumb-badge.diamond-origin-badge,
.woocommerce-page ul.products li.product .product-thumb-badge.diamond-origin-badge {
  top: 1rem;
  right: 10px;
  font-weight: 700;
  background: var(--color-surface-tint);
  color: var(--color-accent);
}


/* ========================================
   CATEGORY PAGE
======================================== */

.adora-cat-thumbnail {
  box-shadow: var(--shadow-card);
}

a.login-to-view-price {
  padding: .3em 1em !important;
  margin: 1rem;
}
/* ========================================
   FILTER BAR
======================================== */

.adora-filter-bar {
  background: var(--color-white);
  padding: 20px;
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-filter);
  margin-bottom: 30px;
  overflow: visible !important;
}

.adora-filter-item {
  margin-bottom: 16px;
}

.adora-filter-item .label {
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 6px;
}

.adora-filter-item .inputs {
  display: flex;
  align-items: center;
  gap: 8px;
}

.adora-filter-item .adora-filter-items.adora-filter-items--term .inputs {
  display: none;
}

.adora-filter-item input[type="number"] {
  width: 60px;
  padding: 6px 8px 6px 4px;
  font-size: 13px;
  border-radius: var(--radius-xs);
  border: none;
  background: var(--color-surface-alt);
}

.adora-filter-item button.adora-chip {
  padding: 6px 8px;
  border-radius: var(--radius-xs);
  border: none;
  background: var(--color-surface-alt);
  margin: 0 4px 4px 0;
}

.adora-filter-item button.adora-chip.is-active {
  background: var(--color-primary);
  color: var(--color-white);
}

.adora-filter-item.adora-filter-item--terms,
.adora-filter-item.adora-filter-item--sliders {
  display: flex;
  column-gap: 1rem;
  overflow-x: auto;
  overflow-y: visible;
}

.adora-filter-item--terms,
.adora-term-filter--multi,
.adora-multi {
  overflow: visible !important;
}

/* ========================================
   FILTER SLIDER
======================================== */

.adora-filter-bar .ui-slider {
  position: relative;
  height: 6px;
  background: var(--color-track);
  border-radius: var(--radius-pill);
  margin: 10px .5rem 12px .5rem;
}

.adora-filter-bar .ui-slider .ui-slider-handle {
  position: absolute;
}

.adora-filter-bar .ui-slider .ui-slider-range {
  position: absolute;
}

.adora-filter-bar .ui-slider-range {
  background: var(--color-accent-bright);
  height: 6px;
  border-radius: var(--radius-pill);
  z-index: 5;
  top: calc(50% - 3px);
}

.adora-filter-bar .ui-slider-handle {
  top: 50%;
  width: 16px;
  height: 16px;
  border-radius: var(--radius-circle);
  background: var(--color-primary);
  border: 2px solid var(--color-primary);
  transform: translate(-50%, -50%);
  cursor: pointer;
  z-index: 6;
}

/* ========================================
   TERM SLIDER
======================================== */

.adora-term-ticks {
  display: flex;
  margin-top: 6px;
  overflow: hidden;
  justify-content: space-between;
  gap: 1rem;
  pointer-events: none;
}

.adora-term-tick {
  justify-self: center;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}

.adora-term-tick.is-empty {
  opacity: .35;
}

.adora-term-segments {
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  height: 6px;
  pointer-events: none;
  z-index: 6;
}

.adora-term-segments .seg {
  position: absolute;
  top: 0;
  width: 8px;
  height: 6px;
  border-radius: 2px;
  background: var(--color-surface-alt);
  transform: translateX(-50%);
}

.adora-term-segments .seg.is-empty {
  opacity: .5;
}

.adora-term-segments .seg.is-on {
  background: var(--color-surface-alt);
  opacity: 1;
}

/* ========================================
   FILTER MULTI DROPDOWN
======================================== */

.adora-term-filter--multi {
  position: relative;
}

.adora-multi {
  position: relative;
  min-width: 200px;
}

.adora-multi-btn {
  width: 100%;
  padding: 10px 12px;
  border-radius: var(--radius-sm);
  border: none;
  background: var(--color-surface-alt);
  text-align: left;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.adora-multi-btn .label {
  margin-bottom: 0;
}

.adora-multi-panel {
  display: none;
  position: absolute;
  top: calc(100% + 6px);
  z-index: 9999;
  background: var(--color-white);
  border-radius: 0 0 var(--radius-sm) var(--radius-sm);
  box-shadow: var(--shadow-dropdown);
  padding: 12px;
  width: 100%;
  min-width: 200px;
}

.adora-multi.is-open .adora-multi-panel {
  display: block;
}

.adora-chevron {
  font-size: 20px;
  line-height: 1;
  transition: transform var(--transition-fast), opacity var(--transition-fast);
  opacity: .6;
}

.adora-multi.is-open .adora-chevron {
  transform: rotate(180deg);
  opacity: 1;
}

.adora-multi-opt {
  display: flex;
  gap: 8px;
  align-items: center;
  padding: 6px 4px;
  cursor: pointer;
}

.adora-multi-actions {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  padding-top: 8px;
  border-top: 1px solid var(--color-info-bg);
  margin-top: 8px;
}

.adora-multi-actions button {
  background: var(--color-surface-alt);
  border: none;
  border-radius: var(--radius-xs);
  padding: 8px 10px;
  cursor: pointer;
}

/* ========================================
   FILTER ACTIONS
======================================== */

.adora-filter-actions {
  display: flex;
  gap: 10px;
  margin-top: 16px;
}

/* ========================================
   FILTER RESPONSIVE
======================================== */

@media screen and (max-width: 768px) {
  .adora-filter-item.adora-filter-item--terms,
  .adora-filter-item.adora-filter-item--sliders {
    flex-direction: column;
  }
}

@media screen and (min-width: 768px) and (max-width: 980px) {
  .adora-filter-items {
    max-width: 45%;
  }

  .adora-filter-item.adora-filter-item--terms,
  .adora-filter-item.adora-filter-item--sliders {
    flex-direction: column;
    flex-flow: wrap;
  }
}

/* ========================================
   LOAD MORE + ARCHIVE ANIMATION
======================================== */

.load-more-btn.hidden {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.woocommerce ul.products li.product {
  opacity: 0;
  transform: translateY(20px);
  animation: productcategoryfadeIn .4s ease forwards;
}

@keyframes productcategoryfadeIn {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.load-more-wrapper {
  text-align: center;
  margin: 2rem 0;
}

.load-more-btn {
  color: var(--color-accent-bright);
  font-weight: 900;
  border: 3px solid var(--color-accent-bright);
  border-radius: var(--radius-md);
  min-width: 220px;
  background: none;
  transition: background var(--transition-ui), border var(--transition-ui);
}

.load-more-btn:hover {
  background: #333;
  border-color: #333;
}

.load-spinner {
  width: 32px;
  height: 32px;
  border: 3px solid var(--color-spinner);
  border-top: 3px solid var(--color-accent-bright);
  border-radius: var(--radius-circle);
  animation: productcategoryspin .8s linear infinite;
  margin: .5rem auto;
}

@keyframes productcategoryspin {
  to {
    transform: rotate(360deg);
  }
}
/* ========================================
   MOBILE COLUMNS
======================================== */

/* 2 Columns Mobile */
@media all and (max-width: 767px) {
  .two-col-mob.et_pb_column {
    width: 47.25% !important;
  }

  .two-col-mob.et_pb_column:nth-last-child(-n+2) {
    margin-bottom: 0;
  }

  .two-col-mob.et_pb_column:is(:nth-child(2n)) {
    margin-right: 5.5% !important;
  }
}

/* 3 Columns Mobile */
@media all and (max-width: 767px) {
  html .et-db .three-col-mob .et_pb_column {
    width: 29.6667% !important;
  }

  html .et-db .three-col-mob .et_pb_column:nth-last-child(-n+3) {
    margin-bottom: 0;
  }

  html .et-db .three-col-mob .et_pb_column:not(:nth-child(3n)) {
    margin-right: 5.5% !important;
  }
}

/* 4 Columns Mobile */
@media all and (max-width: 767px) {
  html .et-db .four-col-mob .et_pb_column {
    width: 20.875% !important;
  }

  html .et-db .four-col-mob .et_pb_column:nth-last-child(-n+4) {
    margin-bottom: 0;
  }

  html .et-db .four-col-mob .et_pb_column:not(:nth-child(4n)) {
    margin-right: 5.5% !important;
  }
}

/* 5 Columns Mobile */
@media all and (max-width: 767px) {
  html .et-db .five-col-mob .et_pb_column {
    width: 15.6% !important;
  }

  html .et-db .five-col-mob .et_pb_column:nth-last-child(-n+5) {
    margin-bottom: 0;
  }

  html .et-db .five-col-mob .et_pb_column:not(:nth-child(5n)) {
    margin-right: 5.5% !important;
  }
}

/* 6 Columns Mobile */
@media all and (max-width: 767px) {
  html .et-db .six-col-mob .et_pb_column {
    width: 12.083% !important;
  }

  html .et-db .six-col-mob .et_pb_column:nth-last-child(-n+6) {
    margin-bottom: 0;
  }

  html .et-db .six-col-mob .et_pb_column:not(:nth-child(6n)) {
    margin-right: 5.5% !important;
  }
}


/* ========================================
   TABLET COLUMNS
======================================== */

/* 1 Column Tablet */
@media all and (min-width: 768px) and (max-width: 980px) {
  html .et-db .one-col-tab .et_pb_column,
  .et_pb_column.one-col-tab {
    width: 100% !important;
    margin-right: 0 !important;
  }

  html .et-db .one-col-tab .et_pb_column:not(:last-child) {
    margin-bottom: 30px !important;
  }
}

/* 2 Columns Tablet */
@media all and (min-width: 768px) and (max-width: 980px) {
  html .et-db .two-col-tab .et_pb_column,
  .et_pb_column.two-col-tab {
    width: 47.25% !important;
  }

  .two-col-tab .et_pb_column:nth-last-child(-n+2) {
    margin-bottom: 0;
  }

  html .et-db .two-col-tab .et_pb_column:not(:nth-child(2n)) {
    margin-right: 5.5% !important;
  }
}

/* 3 Columns Tablet */
@media all and (min-width: 768px) and (max-width: 980px) {
  html .et-db .three-col-tab .et_pb_column {
    width: 29.6667% !important;
  }

  html .et-db .three-col-tab .et_pb_column:nth-last-child(-n+3) {
    margin-bottom: 0;
  }

  html .et-db .three-col-tab .et_pb_column:not(:nth-child(3n)) {
    margin-right: 5.5% !important;
  }
}

/* 4 Columns Tablet */
@media all and (min-width: 768px) and (max-width: 980px) {
  html .et-db .four-col-tab .et_pb_column {
    width: 20.875% !important;
  }

  html .et-db .four-col-tab .et_pb_column:nth-last-child(-n+4) {
    margin-bottom: 0;
  }

  html .et-db .four-col-tab .et_pb_column:not(:nth-child(4n)) {
    margin-right: 5.5% !important;
  }
}

/* 5 Columns Tablet */
@media all and (min-width: 768px) and (max-width: 980px) {
  html .et-db .five-col-tab .et_pb_column {
    width: 15.6% !important;
  }

  .five-col-tab .et_pb_column:nth-last-child(-n+5) {
    margin-bottom: 0;
  }

  html .et-db .five-col-tab .et_pb_column:not(:nth-child(5n)) {
    margin-right: 5.5% !important;
  }
}

/* 6 Columns Tablet */
@media all and (min-width: 768px) and (max-width: 980px) {
  html .et-db .six-col-tab .et_pb_column {
    width: 12.083% !important;
  }

  html .et-db .six-col-tab .et_pb_column:nth-last-child(-n+6) {
    margin-bottom: 0;
  }

  html .et-db .six-col-tab .et_pb_column:not(:nth-child(6n)) {
    margin-right: 5.5% !important;
  }
}

/* ========================================
   ROW WIDTH OVERRIDES
======================================== */

/* Desktop row width */
.et_pb_pagebuilder_layout.single.et_full_width_page:not(.et-tb-has-body) #main-content .et_pb_row {
  width: 90% !important;
}

/* Tablet row width */
@media (min-width: 768px) and (max-width: 980px) {
  #main-content .et_pb_row {
    width: 100%;
    padding: 0 3rem;
  }
}

/* Mobile row width */
@media (max-width: 767px) {
  #main-content .et_pb_row {
    width: 100%;
    padding: 0 1rem;
  }
}