/* ============================= */

/* LAYOUT */

/* ============================= */

.dicta-shop {

  display: grid;

  grid-template-columns: 280px 1fr;

  gap: 30px;

  padding: 20px 0;

}



/* ============================= */

/* SIDEBAR */

/* ============================= */

.dicta-sidebar {

  background: #f7f8fa;

  padding: 20px;

  border-radius: 12px;

}



/* Filter box */

.dicta-filter-box {

  margin-bottom: 20px;

}



/* ============================= */

/* SEARCH */

/* ============================= */

#dicta-search {

  width: 100%;

  padding: 12px;

  border: 1px solid #ddd;

  border-radius: 10px;

  font-size: 14px;

}



/* ============================= */

/* CATEGORY TREE */

/* ============================= */

.dicta-cat-tree {

  list-style: none;

  padding: 0 !important;

  margin: 0 !important;

}



/* Parent row */

.cat-parent {

  display: flex;

  align-items: center;

  justify-content: space-between;

  cursor: pointer;

  font-weight: 500;

  padding: 8px 0;

}



/* Hover */

.cat-parent:hover {

  color: #1e3a8a;

}



/* Toggle */

.toggle {

  font-weight: bold;

  margin-right: 8px;

}



/* Count */

.count {

  font-size: 12px;

  color: var(--gr);

}



/* Children */

.children {

  display: none;

  padding-left: 15px;
  transition: all 0.3s ease;

}



/* Child items */

.children li {

  margin: 6px 0;

}
.children a {

  text-decoration: none;

  color: #333;

  font-size: 14px;

}

.children a:hover {

  color: #1e3a8a;

}


.dicta-cat-link.active {
  color: #1d4ed8;
  font-weight: 600;
}

/* ============================= */

/* PRODUCT TYPE FILTER */

/* ============================= */

.dicta-switch {

  display: flex;

  align-items: center;

  gap: 10px;

  margin: 10px 0;

  cursor: pointer;

  font-size: 14px;

}



/* ============================= */

/* PRODUCTS AREA */

/* ============================= */

.dicta-products-wrap {

  width: 100%;

}



/* Top bar */

.dicta-shop-top {

  display: flex;

  justify-content: space-between;

  align-items: center;

  margin-bottom: 25px;

}



/* ============================= */

/* GRID */

/* ============================= */

.dicta-products {

  display: grid;

  grid-template-columns: repeat(3, 1fr);

  gap: 20px;

}
.dicta-products.dicta-related-grid-wrap {
    grid-template-columns: repeat(4, 1fr);
}


@media (max-width: 1200px) {

  .dicta-products, .dicta-products.dicta-related-grid-wrap {

    grid-template-columns: repeat(3, 1fr);

  }

}



@media (max-width: 992px) {

  .dicta-products, .dicta-products.dicta-related-grid-wrap {

    grid-template-columns: repeat(2, 1fr);

  }

}



@media (max-width: 580px) {

  .dicta-products, .dicta-products.dicta-related-grid-wrap {

    grid-template-columns: 1fr;

  }

}



/* ============================= */

/* PRODUCT CARD */

/* ============================= */

.dicta-product-card {

  background: #ffffff;

  border-radius: 16px;

  overflow: hidden;

  border: 1px solid #e6edf5;

  transition: all 0.25s ease;

}



/* Hover */

.dicta-product-card:hover {

  transform: translateY(-4px);

  box-shadow: 0 10px 25px rgba(0,0,0,0.05);

}



/* ============================= */

/* IMAGE */

/* ============================= */

.dicta-product-image {

  padding: 40px;

  text-align: center;

  position: relative;

  border-bottom: 1px solid #f1f5f9;

}



.dicta-product-image img {

  max-height: 160px;

  object-fit: contain;

}



/* ============================= */

/* BADGES */

/* ============================= */

.badge {

  position: absolute;

  top: 12px;

  left: 12px;

  background: #1e3a8a;

  color: #fff;

  font-size: 12px;

  padding: 5px 10px;

  border-radius: 20px;

}



/* New badge */

.badge.new {

  background: #16a34a;

  left: auto;

  right: 12px;

}

/* Wrapper */
.dicta-pagination {
  margin-top: 40px;
  display: flex;
  justify-content: center;
}

/* Pagination container */
.dicta-pagination .nav-links {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}

/* Base button style */
.dicta-pagination a,
.dicta-pagination span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 14px;
  border-radius: 8px;
  font-size: 14px;
  text-decoration: none;
  border: 1px solid var(--bl);
  color: var(--bl);
  background: var(--wh);
  transition: all 0.25s ease;
}

/* Hover */
.dicta-pagination a:hover {
  background: var(--bl);
  color: var(--wh);
  border-color: var(--bl);
  transform: translateY(-2px);
}

/* Current page */
.dicta-pagination .current {
  background: var(--bl);
  color: var(--wh);
  border-color: var(--bl);
  font-weight: 600;
}

/* Previous / Next buttons */
.dicta-pagination .prev,
.dicta-pagination .next {
  padding: 0 16px;
  font-weight: 500;
}

/* Disabled (if any) */
.dicta-pagination .disabled {
  opacity: 0.5;
  pointer-events: none;
}

/* Dots (...) */
.dicta-pagination .dots {
  border: none;
  background: transparent;
  cursor: default;
}

/* ============================= */

/* CONTENT */

/* ============================= */

.dicta-sort {

  border: 0.5px solid var(--bl);

  border-radius: 8px;

  padding: 6px 10px;

  font-size: 13px;

   color: var(--bl);

  background: var(--wh); 

  cursor: pointer; 

  outline: none;

}

.dicta-sort:focus { border-color: var(--bl); }

/* ============================= */

/* BUTTON */

/* ============================= */

.btn {

  display: block;

  margin-top: 15px;

  padding: 10px;

  background: #1e3a8a;

  color: #fff;

  text-align: center;

  border-radius: 8px;

  text-decoration: none;

  font-size: 14px;

}



.btn:hover {

  background: #162c66;

}



#main-content .container:before {

    background: none !important;

}



/* ============================= */

/* RESPONSIVE */

/* ============================= */



/* Tablet */

@media (max-width: 980px) {

  .dicta-shop {

    grid-template-columns: 1fr;

  }

  .dicta-shop-top {

    flex-direction: column;

    gap: 10px;

  }

}



/* Mobile */

@media (max-width: 767px) {



  .dicta-product-image {

    padding: 20px;

  }



  .dicta-product-image img {

    max-height: 130px;

  }



  .dicta-product-content {

    padding: 16px;

  }



  .dicta-product-content h4 {

    font-size: 15px;

  }



  .btn {

    padding: 8px;

    font-size: 13px;

  }

}

/**---PDF Customer ---**/

.dicta-catalog-pdf {

  background: var(--bl);

  border-radius: 10px;

  padding: 14px 16px;

  margin-top: 4px;

  flex-shrink: 0;

}

.dicta-catalog-pdf-text { font-size: 15px; font-weight: 700; color: var(--wh); margin-bottom: 3px; }

.dicta-catalog-pdf-spec { font-size: 13px; color: rgba(255,255,255,0.60); margin-bottom: 12px; line-height: 1.4; }

.dicta-catalog-pdf-btn {

   color: var(--wh);

    display: flex;

    flex-direction: row;

    justify-content: center;

    align-items: center;

}
.dicta-catalog-pdf .dicta-btn {
    width: 100%;
}
@media (max-width: 980px) {
.dicta-catalog-pdf {
  text-align: center;
}
}
/* Container */

.dicta-filter-box {

  background: var(--wh);

  padding: 16px;

  border-radius: 12px;

  border: 1px solid #e5e7eb;

  margin-bottom: 20px;

}



/* Title */

.dicta-filter-title {

  font-size: 14px;

  font-weight: 700;

  margin-bottom: 4px;

  letter-spacing: 1px;

}



/* Count */

.dicta-filter-count {

  font-size: 13px;

  color: var(--gr);

  margin-bottom: 12px;

}



/* Search wrapper */

.dicta-search-wrap {

  position: relative;

}



/* Input */

#dicta-search {

  width: 100%;

  padding: 10px 12px 10px 36px;

  border-radius: 10px;

  border: 1px solid var(--bl);

  font-size: 14px;

}



/* Icon */

.dicta-search-icon {

  position: absolute;

  left: 12px;

  top: 50%;

  font-weight: 700;

  transform: translateY(-50%);

  font-family: "ETmodules";

  font-size: 14px;

  color: var(--bl);

}



/* Hide children initially */

.dicta-cat-tree {

  text-align: left;

  padding-left: 0 !important;

}



.dicta-cat-tree li {

  list-style: none;

  border-bottom: 1px solid var(--bo);

}

.dicta-cat-tree li:last-child {

    border-bottom:none;

}



.cat-parent {

  display: flex;

  align-items: self-start;

  gap: 8px;

}



.dicta-cat-tree .children {

  display: none;

  padding-left: 20px;

}



.toggle {

  cursor: pointer;

  font-weight: 500;

  width: 16px;

  font-size:24px;

  color: var(--bl);

}



.toggle.empty {

  visibility: hidden;

}



.dicta-cat-link {

  cursor: pointer;

}



.dicta-cat-link.active {

  font-weight: bold;

  color: var(--bld);

}

/* ROW */

.dicta-toggle-row {

  display: flex;

  justify-content: space-between;

  align-items: center;

  padding: 14px 0;

  border-top: 1px solid #eef2f7;

  font-size: 13px;

  font-weight: 600;

  color: #4b5563;

}



/* FIRST ROW NO BORDER */

.dicta-toggle-row:first-of-type {

  border-top: none;

}



/* TOGGLE SWITCH */

.dicta-toggle {

  position: relative;

  width: 44px;

  height: 24px;

}



/* HIDE INPUT */

.dicta-toggle input {

  display: none;

}



/* TRACK */

.dicta-toggle .slider {

  position: absolute;

  cursor: pointer;

  inset: 0;

  background: #d1d5db;

  border-radius: 20px;

  transition: 0.3s;

}



/* KNOB */

.dicta-toggle .slider::before {

  content: "";

  position: absolute;

  height: 18px;

  width: 18px;

  left: 3px;

  top: 3px;

  background: #fff;

  border-radius: 50%;

  transition: 0.3s;

  box-shadow: 0 1px 3px rgba(0,0,0,0.2);

}



/* ACTIVE */

.dicta-toggle input:checked + .slider {

  background: #1e3a8a;

}



.dicta-toggle input:checked + .slider::before {

  transform: translateX(20px);

}



.dicta-related-section .dicta-section-head h4 {

    text-transform: none;

    margin-bottom: 28px;

}



#product-enq-form h3 {

  font-size: 20px !important;

  font-weight: 700 !important;

  color: var(--wh) !important;

  margin-bottom: 12px !important;

}

#product-enq-form .product-enq-text p {

  font-size: 16px !important;

  color: var(--wh-75) !important;

  line-height: 1.6 !important;

  margin-bottom: 8px !important;

}

#product-enq-form .product-enq-email .dicta-contact, 

#product-enq-form .product-enq-email .dicta-contact .dicta-icon,

#product-enq-form .product-enq-email .dicta-contact .dicta-value {

    display: flex;

    flex-direction: row;

    align-items: center;

}

#product-enq-form .product-enq-email .dicta-contact .dicta-icon .et-pb-icon {

   font-size: 16px;

   color: var(--wh-55);

}

#product-enq-form .product-enq-email .dicta-contact .dicta-value a {

    font-size: 16px !important;

    color: var(--wh-55) !important;

    line-height: 1.65 !important;

}

#product-enq-form .product-enq-email .dicta-contact .dicta-value a:hover {

    text-decoration: underline !important;

    color: var(--wh) !important;

}

#product-enq-form .wform-btn-wrap input.wf-btn, #formsubmit {

    margin-top: 15px;

    background: var(--blx) !important;

    color: var(--bld) !important;

}

#product-enq-form .wform-btn-wrap input.wf-btn:hover, #formsubmit.btn:hover {

    opacity: 0.75;

}



/* Title */

.spec-title {

  font-size: 22px;

  font-weight: 700;

  color: #1e3a6d;

  margin-bottom: 20px;

}



/* Table wrapper */

.dicta-spec-wrap {

  width: 100%;

}



/* Table */

.dicta-specs {

  width: 100%;

  border-collapse: collapse;

  font-size: 14px;

}



/* Header */

.dicta-specs thead th {

  background: #274c8e; /* dark blue */

  color: #fff;

  text-transform: uppercase;

  font-size: 12px;

  letter-spacing: 1px;

  padding: 14px 16px;

  text-align: left;

}



/* Body rows */

.dicta-specs tbody td {

  padding: 16px;

  color: #334155;

}



/* Alternate rows */

.dicta-specs tbody tr:nth-child(odd) {

  background: #f1f4f9;

}



/* Remove borders */

.dicta-specs td,

.dicta-specs th {

  border: none;

}



.single-product.woocommerce-page div.product div.images

 {

    width: 100%;

}



/* MAIN CARD */

.dicta-gallery-wrap {

  position: relative;

  background: #f4f7fb;

  border-radius: 16px;

  padding: 30px;

  overflow: hidden;

}



/* REMOVE WOO DEFAULT MESS */

.dicta-gallery-inner .woocommerce-product-gallery {

  width: 100%;

}



/* CENTER IMAGE */

.dicta-gallery-inner .woocommerce-product-gallery__wrapper {

  display: flex;

  justify-content: center;

  align-items: center;

}



/* IMAGE FIX */

.dicta-gallery-inner img {

  max-height: 420px;

  object-fit: contain;

  margin: auto;

}



/* REMOVE ZOOM ICON */

.dicta-gallery-inner .woocommerce-product-gallery__trigger {

  display: none !important;

}



/* REMOVE WEIRD FLEX */

.dicta-gallery-inner .flex-viewport {

  height: auto !important;

}



/* THUMBNAILS */

.dicta-gallery-inner .flex-control-thumbs {

  margin-top: 15px;

  display: flex;

  justify-content: center;

  gap: 10px;

}



.dicta-gallery-inner .flex-control-thumbs img {

  border-radius: 6px;

  width: 60px;

}



/* BADGE FIX */

.dicta-badge {

  position: absolute;

  top: 20px;

  left: 20px;

  background: #1e3a8a;

  color: #fff;

  font-size: 12px;

  padding: 6px 12px;

  border-radius: 20px;

  font-weight: 600;

  z-index: 5;

}



.dicta-badge.new {

  background: #16a34a;

}



.dicta-product-intro-section .dicta-intro .category,

.dicta-product-intro-section .dicta-intro .category a {

    font-size: 10px !important;

    font-weight: 700 !important;

    color: var(--gr) !important;

    text-transform: uppercase !important;

    letter-spacing: 1px !important;

    margin-bottom: 5px !important;

}

.dicta-product-intro-section .dicta-intro h2 {

    font-size: 24px !important;

    font-weight: 700 !important;

    margin-bottom: 6px;

}

.dicta-product-intro-section .dicta-intro .meta {

    font-family: var(--font-mono);

    font-size: 13px;

    font-weight: 400;

    color: var(--txs);

    letter-spacing: 0;

    margin-bottom: 0px !important;

}

.dicta-product-intro-section .dicta-intro p {

font-size: 15px;

    color: var(--txm);

    line-height: 1.7;

    margin-bottom: 18px;

}

.dicta-product-advanced-section .dicta-advantages {

  background: var(--alt) !important;

  border-radius: 9px !important;

  padding: 12px 14px !important;

  margin-bottom: 18px !important;

}

.dicta-product-advanced-section .dicta-advantages h6 {

  font-size: 14px !important;

  font-weight: 700 !important;

  color: var(--bld) !important;

  letter-spacing: 0.5px !important;

  margin-bottom: 8px !important;

  text-transform: none !important;



}

.dicta-product-advanced-section .dicta-advantages ul {

  list-style: none !important;

  padding: 0 !important;

  margin: 8px 0 0 !important;

}

.dicta-product-advanced-section .dicta-advantages ul li {

   font-family: var(--font-body) !important;

  font-size: 14px !important;

  color: var(--txm) !important;

  padding: 4px 0 4px 18px !important;

  position: relative !important;

  line-height: 1.5 !important;

}

.dicta-product-advanced-section .dicta-advantages ul li::before {

  content: '' !important;

  width: 6px !important;

  height: 6px !important;

  border-radius: 50% !important;

  background: var(--gr) !important;

  position: absolute !important;

  left: 0 !important;

  top: 12px !important;

}

.dicta-pdp-cat-filter .dicta-view-all {

  margin-top: 10px;

  text-align: center;

  width: 100%;

}



.dicta-pdp-cat-filter  .view-all-btn {

  display: inline-block;

  color: var(--wh);

  width: 100%;

}



.view-all-btn:hover {

  opacity: 0.85;

} 

/* Wrapper */

.dicta-pdp-related-products .dicta-related-sidebar {

  border: 1px solid #e5e7eb;

  border-radius: 12px;

  overflow: hidden;

  margin-bottom: 20px;

}

.dicta-pdp-related-products .dicta-related-sidebar h6 {

    padding:16px;

}

/* Item */

.dicta-pdp-related-products .dicta-related-item {

     display: flex;

    align-items: center;

    gap: 10px;    

  padding: 16px;

    border-bottom: 0.5px solid rgba(0, 0, 0, 0.06);

    text-decoration: none !important;

    transition: background .15s;

}

/* Active */

.dicta-pdp-related-products .dicta-related-item.active {

  background: #eef2ff;

}



/* Image */

.dicta-pdp-related-products .dicta-related-item .img {
    width: 52px;
    height: 52px;
    object-fit: cover;
    border-radius: 50%;
    background: var(--blx);
    display: flex;
    justify-content: center;
    align-items: center;
}

.dicta-pdp-related-products .dicta-related-item img {

  width: 32px;

    height: 32px;

}





/* Content */

.dicta-related-item .title {

      font-size: 13px;

    font-weight: 500;

    color: #1a202c;

    white-space: nowrap;

    overflow: hidden;

    text-overflow: ellipsis;   

}



.dicta-related-item .sub-section .meta {

      font-size: 11px;

    color: #888;

    margin-top: 2px;

}

.dicta-pdp-related-products .sub-section .current-badge {

    display: inline-block;

    background: #dbeafe;

    color: #1d4ed8;

    font-size: 10px;

    font-weight: 600;

    padding: 1px 6px;

    border-radius: 20px;

    margin-left: 4px;

}