body {
  width: 100%;
  height: 100%;
}
h1, h2, h3, h4, h5, h6 {
  color: #444;
}
legend {
  padding: 7px 0;
  margin-bottom: 20px;
  border-bottom: 1px solid #e5e5e5;
}
label {
  font-size: 12px;
  font-weight: normal;
}
/* Chrome border line */
button:focus {
  outline: none !important;
}
/* container */
#container {
  width: 100%;
  min-height: 100%;
  position: absolute;
  margin-bottom: 300px;
}
/* content */
#content, #column-left, #column-right {
  padding-bottom: 730px;
}
@media (min-width: 576px) {
  #content, #column-left, #column-right {
    padding-bottom: 400px;
  }
}
#alert {
  z-index: 9999;
  position: fixed;
  top: 30%;
  left: 50%;
  width: 400px;
  margin-left: -200px;
}
@media (min-width: 992px) {
  #alert {
    width: 600px;
    margin-left: -300px;
  }
}
@media (min-width: 1140px) {
  #alert {
    width: 600px;
    margin-left: -300px;
  }
}
@media (min-width: 1320px) {
  #alert {
    width: 600px;
    margin-left: -300px;
  }
}
#alert .alert {
  margin-bottom: 15px;
}
#alert .alert-primary {
  box-shadow: 0 0 0 5px rgb(var(--bs-primary-rgb), 0.1);
}
#alert .alert-secondary {
  box-shadow: 0 0 0 5px rgb(var(--bs-secondary-rgb), 0.1);
}
#alert .alert-success {
  box-shadow: 0 0 0 5px rgb(var(--bs-success-rgb), 0.1);
}
#alert .alert-warning {
  box-shadow: 0 0 0 5px rgb(var(--bs-warning-rgb), 0.1);
}
#alert .alert-danger {
  box-shadow: 0 0 0 5px rgb(var(--bs-danger-rgb), 0.1);
}
#alert .alert-info {
  box-shadow: 0 0 0 5px rgb(var(--bs-info-rgb), 0.1);
}
#alert .alert-light {
  box-shadow: 0 0 0 5px rgb(var(--bs-light-rgb), 0.1);
}
#alert .alert-dark {
  box-shadow: 0 0 0 5px rgb(var(--bs-dark-rgb), 0.1);
}
/* top */
#top {
  background-color: var(--bs-tertiary-bg);
  border-bottom: 1px solid var(--bs-border-color);
  margin-bottom: 20px;
  position: relative;
  padding-bottom: 5px;
}
#top ul.list-inline {
  margin-bottom: 0;
}
#top .list-inline-item > a, #top .list-inline-item .dropdown > a {
  font-size: 1.1em;
  color: var(--bs-gray-600);
  line-height: 40px;
  vertical-align: middle;
  padding: 10px 0px 5px 0px;
}
/* logo */
#logo {
  text-align: center;
  margin: 7px 0 7px 0;
}
#logo img {
  max-width: 200px;
}
@media (min-width: 768px) {
  #logo {
    text-align: left;
  }
}
/* search */
#search {
  margin-bottom: 10px;
}
#search .form-control-lg {
  height: 40px;
  font-size: 12px;
  line-height: 20px;
  padding: 0 10px;
}
#search .btn-lg {
  font-size: 15px;
  line-height: 18px;
  padding: 0.57rem 35px;
  text-shadow: 0 1px 0 #FFF;
}
/* cart */
#cart {
  margin-bottom: 10px;
}
#cart .img-thumbnail {
  min-width: 100px;
}
#cart .btn-lg {
  font-size: 15px;
  line-height: 18px;
  padding: 14px 35px;
}
#cart .dropdown-menu {
  background: #eee;
}
#cart .dropdown-menu li {
  min-width: 300px;
}
@media (max-width: 768px) {
  #cart .dropdown-menu li {
    min-width: 100%;
  }
}
/* menu */
#menu {
  background-color: #229ac8;
  background-image: linear-gradient(to bottom, #23a1d1, #1f90bb);
  background-repeat: repeat-x;
  border: 1px solid #1f90bb;
  border-color: #1f90bb #1f90bb #145e7a;
  min-height: 40px;
  border-radius: 4px;
  padding: 0 1rem;
  margin-bottom: 20px;
}
#menu .navbar-nav > li > a {
  color: #fff;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
  padding: 10px 15px 10px 15px;
  background-color: transparent;
}
#menu .navbar-nav > li > a:hover {
  background-color: rgba(0, 0, 0, 0.1);
}
#menu .dropdown-menu {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
#menu .dropdown-inner {
  display: flex;
  flex-direction: column;
}
#menu .dropdown-inner ul {
  width: 100%;
  min-width: 200px;
}
@media (min-width: 960px) {
  #menu .dropdown:hover .dropdown-menu {
    display: block;
  }
  #menu .dropdown-inner {
    flex-direction: row;
  }
  #menu .nav-item + .nav-item + .nav-item .dropdown-column-3 {
    left: -200px;
  }
  #menu .nav-item + .nav-item + .nav-item .dropdown-column-4 {
    left: -400px;
  }
  #menu .nav-item + .nav-item + .nav-item + .nav-item .dropdown-column-2 {
    left: -200px;
  }
  #menu .nav-item + .nav-item + .nav-item + .nav-item .dropdown-column-3 {
    left: -400px;
  }
  #menu .nav-item + .nav-item + .nav-item + .nav-item .dropdown-column-4 {
    left: -600px;
  }
}
#category {
  float: left;
  font-size: 16px;
  font-weight: 700;
  line-height: 40px;
  color: #fff;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.2);
}
#menu .navbar-toggler i {
  color: #fff;
  border-color: #fff;
  font-size: 0.9em;
}
/* default boostrap changes */
div.required .col-form-label:before, div.required .form-label:before {
  content: "* ";
  color: #F00;
  font-weight: bold;
}
.form-switch-lg {
  font-size: 20px;
  min-height: 30px;
  line-height: 30px;
}
.nav-tabs {
  margin-bottom: 15px;
}
.form-check .form-check-input {
  margin-top: 0.25rem;
}
@media (min-width: 768px) {
  .col-form-label {
    text-align: right;
  }
}
/* footer */
footer {
  border: 1px solid #000000;
  position: absolute;
  bottom: -1px;
  width: 100%;
  padding-top: 30px;
  background-color: #303030;
  border-top: 1px solid #ddd;
  color: #e2e2e2;
}
footer hr {
  border-top: none;
  border-bottom: 1px solid #666;
}
footer a {
  color: #ccc;
  text-decoration: none;
}
footer a:hover {
  color: #fff;
}
footer h5 {
  font-family: "Open Sans", sans-serif;
  font-size: 13px;
  font-weight: bold;
  color: #fff;
  margin-top: 10px;
  margin-bottom: 10px;
}
/* breadcrumb */
.breadcrumb {
  margin: 0 0 20px 0;
  padding: 8px 0;
  border: 1px solid var(--bs-border-color);
  border-radius: var(--bs-border-radius);
  background-color: var(--bs-tertiary-bg);
}
.breadcrumb i {
  font-size: 15px;
}
.breadcrumb > li.breadcrumb-item {
  text-shadow: 0 1px 0 #FFF;
  padding: 0 20px;
  position: relative;
  white-space: nowrap;
}
.breadcrumb > li.breadcrumb-item > a {
  text-decoration: none;
}
.breadcrumb > li.breadcrumb-item:after {
  content: "";
  display: block;
  position: absolute;
  top: -3px;
  right: -5px;
  width: 29px;
  height: 29px;
  border-right: 1px solid var(--bs-border-color);
  border-bottom: 1px solid var(--bs-border-color);
  transform: rotate(-45deg);
}
.breadcrumb > li.breadcrumb-item + li:before {
  content: "";
  padding: 0;
}
.product-thumb {
  border: 1px solid #ddd;
  position: relative;
  height: 100%;
}
.product-thumb .image {
  text-align: center;
}
.product-thumb .image a:hover {
  opacity: 0.8;
}
.product-thumb .description {
  padding: 15px;
  margin-bottom: 45px;
}
.product-thumb .description h4 {
  font-weight: bold;
}
.product-thumb .button {
  display: flex;
  position: absolute;
  width: 100%;
  bottom: 0;
}
.product-thumb .button button {
  width: 33.33%;
  border: none;
  border-top: 1px solid var(--bs-border-color);
  background-color: var(--bs-tertiary-bg);
  color: var(--bs-gray-600);
  line-height: 38px;
  text-align: center;
}
.product-thumb .button button:hover {
  color: var(--bs-gray-600);
  background-color: #ddd;
  text-decoration: none;
  cursor: pointer;
}
.product-thumb .button button + button {
  border-left: 1px solid var(--bs-border-color);
}
@media (min-width: 960px) {
  .product-list .product-thumb {
    display: flex;
  }
  .product-list .product-thumb .image {
    flex-direction: column;
    margin-bottom: 0px;
  }
  .product-list .product-thumb .content {
    flex-direction: column;
    flex: 75%;
    position: relative;
  }
  .product-list .product-thumb .button {
    border-left: 1px solid #ddd;
    width: calc(100% -  15px);
    margin-left: 15px;
  }
}
.rating .fa-stack {
  width: 20px;
}
.rating .fa-star {
  color: #999;
  font-size: 15px;
}
.rating .fa-star {
  color: #FC0;
  font-size: 15px;
}
.rating .fa-star + .fa-star {
  color: #E69500;
}
/* product list */
.price {
  color: #444;
}
.price-new {
  font-weight: 600;
}
.price-old {
  color: #dc512c;
  text-decoration: line-through;
}
.price-tax {
  color: #999;
  font-size: 12px;
  display: block;
}
/* blog */
.blog-thumb {
  border: 1px solid #ddd;
  margin-bottom: 15px;
}
.blog-thumb h4 {
  font-weight: bold;
}
.blog-thumb .image {
  text-align: center;
  margin-bottom: 15px;
}
.blog-thumb .image a:hover {
  opacity: 0.8;
}
.blog-thumb .description {
  padding: 15px;
}
/* Theme Custom CSS */
#cookie {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 150px;
  z-index: 9999;
  opacity: 0.95;
  color: #ecf0f1;
  background: #343a40;
}
#cookie div {
  font-size: 16px;
  color: #FFFFFF;
}
/* Product listing cards */
.product-card {
  border-color: #e7ebf0 !important;
  display: flex;
  flex-direction: column;
  height: auto !important;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.product-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 .9rem 1.8rem rgba(15, 23, 42, .11) !important;
  border-color: rgba(0, 138, 204, .32) !important;
}

.product-card-image {
  min-height: 176px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-bottom: 1px solid #eef2f6;
  background: radial-gradient(circle at center, #ffffff 0%, #f8fafc 78%);
}

.product-card-image img {
  width: 100%;
  max-height: 148px;
  object-fit: contain;
  mix-blend-mode: multiply;
}

.product-card-image-placeholder img {
  width: 58%;
  max-height: 118px;
  opacity: .18;
  filter: grayscale(1);
  mix-blend-mode: normal;
}

.product-card-image-placeholder::after {
  content: 'Imagen en actualización';
  position: absolute;
  left: 50%;
  bottom: 1rem;
  transform: translateX(-50%);
  color: #94a3b8;
  font-size: .72rem;
  font-weight: 600;
  white-space: nowrap;
}

.product-card-stock,
.product-card-special {
  font-size: .68rem;
  box-shadow: 0 2px 8px rgba(15, 23, 42, .12);
}

.product-card-content {
  display: flex;
  flex-direction: column;
  height: auto !important;
  min-height: 0;
  flex: 1 1 auto;
}

.product-card-main {
  flex: 0 1 auto;
}

.product-card-brand-row {
  min-height: 22px;
}

.product-card-brand {
  color: #008acb !important;
  letter-spacing: .015em;
}

.product-card-model {
  max-width: 48%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.product-card-title {
  min-height: 44px;
  line-height: 1.32;
  font-weight: 700;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.product-card-title a:hover {
  color: #008acb !important;
}

.product-card-highlights {
  min-height: 0;
  border: 0;
  background: transparent;
}

.product-card-highlights-title {
  display: none;
}

.product-card-spec-list {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
}

.product-card-spec-item {
  display: inline-flex;
  gap: .25rem;
  align-items: center;
  max-width: 100%;
  padding: .22rem .45rem;
  border: 1px solid #e8eef5;
  border-radius: 999px;
  background: #f8fbff;
  font-size: .7rem;
  line-height: 1.05;
}

.product-card-spec-name {
  display: none;
}

.product-card-spec-value {
  color: #0f172a;
  font-weight: 800;
  min-width: 0;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.product-card-no-specs {
  min-height: 46px;
  border: 1px dashed rgba(100, 116, 139, .22);
  background: #fbfdff;
}

.product-card-info-fallback {
  border-color: rgba(0, 202, 167, .18);
  background: linear-gradient(180deg, rgba(240, 253, 250, .72), rgba(248, 250, 252, .92));
}

.product-card-info-fallback .product-card-spec-item {
  border-color: rgba(0, 202, 167, .18);
  background: rgba(255, 255, 255, .86);
}

.product-card-info-fallback .product-card-spec-value {
  color: #0f766e;
}

.product-list .product-card-info-fallback .product-card-spec-value {
  color: #0f172a;
}

.product-card-form {
  margin-top: .85rem;
  padding-top: 0;
}

.product-card-buy-box {
  display: grid;
  gap: .75rem;
}

.product-card-price-wrap {
  min-height: 40px;
}

.product-card-price {
  color: #111827;
  font-size: 1.2rem;
  line-height: 1.1;
  font-weight: 800;
  letter-spacing: -.02em;
}

.product-card .price-tax,
.product-card-tax {
  font-size: .72rem;
  color: #64748b !important;
}

.product-card .product-card-actions {
  display: grid !important;
  position: static !important;
  width: 100% !important;
  bottom: auto !important;
  grid-template-columns: 1fr;
  gap: .55rem;
  align-items: stretch;
}

.product-card .product-card-primary-cta {
  width: 100% !important;
  min-width: 0;
  min-height: 38px;
  padding: .5rem .25rem;
  border: 0;
  border-radius: .72rem;
  background: linear-gradient(135deg, #0096d6 0%, #0078b6 100%);
  color: #fff !important;
  font-size: .86rem;
  line-height: 1.05;
  font-weight: 900;
  letter-spacing: .005em;
  white-space: nowrap;
  box-shadow: 0 8px 18px rgba(0, 138, 203, .22);
  transition: transform .14s ease, box-shadow .14s ease, background .14s ease;
}

.product-card-primary-cta i {
  color: #fff !important;
}

.product-card-primary-cta:hover,
.product-card-primary-cta:focus {
  background: linear-gradient(135deg, #0087c7 0%, #006ca3 100%);
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(0, 112, 168, .28);
}

.product-card-details-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #64748b;
  font-size: .68rem;
  font-weight: 700;
  text-decoration: none;
}

.product-card-details-link:hover {
  color: #008acb;
  text-decoration: underline;
}

.product-card-secondary-actions {
  display: none;
}

.product-card-icon-btn {
  width: 37px;
  height: 32px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #64748b;
  border: 0;
  border-right: 1px solid #e5eaf0;
  border-radius: 0;
  background: #fff;
}

.product-card-icon-btn:last-child {
  border-right: 0;
}

.product-card-icon-btn:hover {
  color: #008acb;
  background: #f8fcff;
}

.product-list .col {
  width: 100%;
}

.product-list .product-card {
  display: grid !important;
  grid-template-columns: 178px minmax(0, 1fr);
  min-height: 218px;
}

.product-list .product-card-image {
  min-height: 218px;
  border-bottom: 0;
  border-right: 1px solid #eef2f6;
}

.product-list .product-card-image img {
  max-height: 158px;
}

.product-list .product-card-content {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 1rem;
  align-items: stretch;
  flex: initial !important;
}

.product-list .product-card-main {
  min-width: 0;
}

.product-list .product-card-title {
  min-height: auto;
  max-width: 720px;
}

.product-list .product-card-highlights,
.product-list .product-card-no-specs {
  max-width: 620px;
  min-height: 112px;
}

.product-list .product-card-highlights {
  border: 1px solid #eef3f8;
  background: linear-gradient(180deg, #fbfdff, #f7fafc);
}

.product-list .product-card-highlights-title {
  display: block;
  letter-spacing: .035em;
  color: #64748b;
  font-size: .67rem !important;
}

.product-list .product-card-spec-list {
  display: grid;
  gap: .34rem;
}

.product-list .product-card-spec-item {
  display: grid;
  grid-template-columns: minmax(72px, .82fr) minmax(0, 1.18fr);
  gap: .45rem;
  align-items: baseline;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  font-size: .78rem;
  line-height: 1.2;
}

.product-list .product-card-spec-name {
  display: block;
  color: #64748b;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.product-list .product-card-form {
  margin-top: 0;
  padding-top: 0;
  border-left: 1px solid #eef2f6;
  padding-left: 1rem;
  display: flex;
  align-items: center;
}

.product-list .product-card-buy-box {
  width: 100%;
}

.product-list .product-card-actions {
  grid-template-columns: 1fr;
}

.product-list .product-card-secondary-actions {
  justify-content: center;
  width: fit-content;
  margin: 0 auto;
}

.product-list .product-card-icon-btn {
  width: 38px;
  height: 34px;
}

.product-list .product-thumb .button,
.product-list .product-card .button {
  border-left: 0 !important;
  width: auto !important;
  margin-left: 0 !important;
}

@media (max-width: 991.98px) {
  .product-list .product-card {
    grid-template-columns: 190px minmax(0, 1fr);
  }

  .product-list .product-card-content {
    grid-template-columns: 1fr;
  }

  .product-list .product-card-form {
    border-left: 0;
    padding-left: 0;
    margin-top: 1rem;
  }

  .product-list .product-card-actions {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 575.98px) {
  .product-card-image {
    min-height: 186px;
  }

  .product-card-title {
    min-height: auto;
  }

  .product-card-highlights,
  .product-card-no-specs {
    min-height: auto;
  }

  .product-list .product-card {
    grid-template-columns: 1fr;
  }

  .product-list .product-card-image {
    min-height: 186px;
    border-right: 0;
    border-bottom: 1px solid #eef2f6;
  }
}

/* Premium listing filters and toolbar */
.category-facets {
  border: 1px solid #e7ebf0;
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: 0 .7rem 1.4rem rgba(15, 23, 42, .06);
}

.category-facets-header {
  border-bottom: 1px solid #edf2f7;
  background: linear-gradient(180deg, #ffffff, #f8fbff);
  padding: .95rem 1rem;
}

.category-facets-header strong {
  display: block;
  color: #0f172a;
  font-size: .95rem;
  line-height: 1.1;
}

.category-facets-kicker {
  display: block;
  color: #008acb;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .055em;
  text-transform: uppercase;
  margin-bottom: .15rem;
}

.category-facets-clear {
  color: #008acb;
  font-size: .75rem;
  font-weight: 800;
  text-decoration: none;
}

.facet-search-wrap {
  position: relative;
}

.facet-search-wrap i {
  position: absolute;
  left: .72rem;
  top: 50%;
  transform: translateY(-50%);
  color: #94a3b8;
  font-size: .78rem;
  z-index: 2;
}

.facet-search-wrap .form-control {
  min-height: 38px;
  padding-left: 2rem;
  border-color: #e7ebf0;
  border-radius: .75rem;
  background: #fbfdff;
  font-size: .78rem;
}

.category-facets .facet-section {
  margin-bottom: .9rem !important;
  padding-bottom: .9rem !important;
  border-color: #edf2f7 !important;
}

.category-facets .facet-section > button {
  color: #0f172a;
  font-size: .82rem;
  letter-spacing: .01em;
}

.category-facets .facet-section > button span {
  color: #008acb;
  font-size: .72rem;
}

.category-facets .facet-option {
  align-items: center;
  color: #334155;
  font-size: .78rem;
  border-radius: .55rem;
  padding: .35rem .35rem !important;
}

.category-facets .facet-option:hover {
  color: #008acb;
  background: #f3f9fd;
}

.category-facets .facet-option input[type="checkbox"] {
  width: .9rem;
  height: .9rem;
  margin-right: .28rem;
  accent-color: #008acb;
}

.category-facets .facet-option .text-muted {
  min-width: 2rem;
  text-align: right;
  color: #94a3b8 !important;
  font-size: .72rem;
}

.category-facets .facet-options-scroll {
  max-height: 270px;
  overflow: auto;
  padding-right: .2rem;
}

.category-facets .facet-options-scroll::-webkit-scrollbar {
  width: 6px;
}

.category-facets .facet-options-scroll::-webkit-scrollbar-thumb {
  background: #cbd5e1;
  border-radius: 999px;
}

.category-facets label.form-label {
  margin-bottom: .2rem;
  font-size: .7rem;
  font-weight: 700;
}

.category-facets .form-control-sm {
  border-radius: .62rem;
  border-color: #e7ebf0;
}

.category-facets .btn-primary {
  border: 0;
  border-radius: .7rem;
  background: linear-gradient(135deg, #0096d6 0%, #0078b6 100%);
  font-weight: 800;
}

.product-toolbar {
  margin-left: 0;
  margin-right: 0;
  padding: .72rem;
  border: 1px solid #e7ebf0;
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 .5rem 1.2rem rgba(15, 23, 42, .045);
}

.product-toolbar > [class*="col-"] {
  margin-bottom: 0 !important;
}

.product-toolbar .mb-3 {
  margin-bottom: 0 !important;
}

.product-toolbar #compare-total {
  min-height: 38px;
  border: 0;
  border-radius: .72rem;
  background: #eff8fd;
  color: #0078b6;
  font-size: .76rem;
  font-weight: 800;
  box-shadow: none;
}

.product-toolbar #compare-total:hover {
  background: #e2f3fb;
  color: #006a9d;
}

.product-toolbar .btn-group {
  padding: .15rem;
  border: 1px solid #e7ebf0;
  border-radius: .72rem;
  background: #f8fafc;
}

.product-toolbar #button-list,
.product-toolbar #button-grid {
  min-width: 34px;
  min-height: 32px;
  border: 0;
  border-radius: .55rem !important;
  color: #64748b;
  background: transparent;
}

.product-toolbar #button-list.active,
.product-toolbar #button-grid.active,
.product-toolbar #button-list:hover,
.product-toolbar #button-grid:hover {
  color: #008acb;
  background: #fff;
  box-shadow: 0 2px 8px rgba(15, 23, 42, .08);
}

.product-toolbar .input-group {
  min-height: 38px;
}

.product-toolbar .input-group-text {
  border-color: #e7ebf0;
  border-radius: .72rem 0 0 .72rem;
  background: #f8fafc;
  color: #64748b;
  font-size: .74rem;
  font-weight: 800;
}

.product-toolbar .form-select {
  border-color: #e7ebf0;
  border-radius: 0 .72rem .72rem 0;
  color: #334155;
  font-size: .78rem;
  font-weight: 600;
}

@media (max-width: 767.98px) {
  .product-toolbar {
    padding: .6rem;
  }
}


/* Premium global shell: header, search, menu, breadcrumbs and footer */
:root {
  --store-blue: #0b5ed7;
  --store-blue-dark: #073f91;
  --store-blue-soft: #eaf2ff;
  --store-ink: #0f172a;
  --store-muted: #64748b;
  --store-border: #dbe5f2;
  --store-surface: #ffffff;
  --store-soft: #f5f8fc;
  --store-shadow: 0 14px 36px rgba(15, 23, 42, .08);
  --store-font-body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --store-font-display: "Space Grotesk", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
}

html, body {
  background: #f4f7fb;
  color: var(--store-ink);
  font-family: var(--store-font-body);
  font-feature-settings: "cv02", "cv03", "cv04", "cv11";
  text-rendering: geometricPrecision;
}

body,
button,
input,
select,
textarea,
.dropdown-menu,
.tooltip,
.popover {
  font-family: var(--store-font-body);
}

a,
.btn,
.form-control,
.form-select,
.dropdown-item,
.nav-link,
.product-card,
.product-thumb,
.store-search,
.store-menu,
.store-footer,
.breadcrumb {
  font-family: var(--store-font-body);
}

h1, h2, h3,
.display-1, .display-2, .display-3, .display-4, .display-5, .display-6,
.diten-hero h1,
.store-page-hero h1,
.cart-page-hero h1,
.checkout-hero h1,
#content > h1 {
  font-family: var(--store-font-display);
  font-weight: 800;
  letter-spacing: -.035em;
}

h4, h5, h6,
.product-card-title,
.product-card-price,
.product-price-list .price-new,
.store-footer h5,
.product-info h1,
#product-info h1,
#logo.store-logo h1,
.store-section-title,
.diten-section-title {
  font-family: var(--store-font-body);
}

.diten-kicker,
.store-topbar-message,
.product-card-brand,
.product-card-model,
.breadcrumb,
.btn,
.badge,
label {
  letter-spacing: .01em;
}

#container {
  background: linear-gradient(180deg, #f8fbff 0%, #f4f7fb 320px, #f4f7fb 100%);
}

#content {
  color: var(--store-ink);
}

#content h1,
#content h2,
#content h3 {
  color: var(--store-ink);
  letter-spacing: -.02em;
}

#top.store-topbar {
  background: #081c3a;
  border: none;
  color: rgba(255, 255, 255, .84);
  margin-bottom: 0;
  padding: 0;
}

.store-topbar .container {
  min-height: 42px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.store-topbar-left {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.store-topbar-message {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .02em;
  text-transform: uppercase;
  color: #d9e7ff;
}

.store-topbar-switchers {
  display: none;
}

#top .store-topbar-links,
#top .store-topbar-switchers {
  margin: 0;
}

#top .store-topbar-links .list-inline-item {
  margin-left: .75rem;
}

#top .list-inline-item > a,
#top .list-inline-item .dropdown > a {
  color: rgba(255, 255, 255, .82);
  font-size: .86rem;
  line-height: 42px;
  padding: 0;
  text-decoration: none;
  text-shadow: none;
  transition: color .18s ease;
}

#top .list-inline-item > a:hover,
#top .list-inline-item .dropdown > a:hover {
  color: #ffffff;
}

#top .dropdown-menu {
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 16px;
  box-shadow: var(--store-shadow);
  padding: .45rem;
}

#top .dropdown-item {
  border-radius: 10px;
  font-size: .9rem;
  padding: .55rem .8rem;
}

.store-header {
  background: rgba(255, 255, 255, .96);
  border-bottom: 1px solid rgba(219, 229, 242, .9);
  padding: 1rem 0 .9rem;
  position: sticky;
  top: 0;
  z-index: 1020;
  backdrop-filter: blur(12px);
  box-shadow: 0 8px 26px rgba(15, 23, 42, .05);
}

#logo.store-logo {
  margin: 0;
  text-align: left;
}

#logo.store-logo img {
  max-height: 54px;
  max-width: 220px;
  object-fit: contain;
}

#logo.store-logo h1 {
  margin: 0;
  font-size: 1.45rem;
  font-weight: 900;
  letter-spacing: -.04em;
}

#logo.store-logo h1 a {
  color: var(--store-ink);
  text-decoration: none;
}

.store-header-search .store-search {
  margin: 0 !important;
}

.store-search {
  position: relative;
  border: 1px solid var(--store-border);
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(15, 23, 42, .07);
  overflow: hidden;
}

.store-search-icon {
  position: absolute;
  left: 1rem;
  top: 50%;
  transform: translateY(-50%);
  color: #7c8ca5;
  z-index: 3;
}

#search .store-search .form-control-lg,
.store-search .form-control-lg {
  height: 48px;
  border: none;
  padding: 0 1rem 0 2.7rem;
  font-size: .96rem;
  color: var(--store-ink);
  box-shadow: none;
}

.store-search .form-control::placeholder {
  color: #8a98ad;
}

#search .store-search .btn-lg,
.store-search .btn-lg {
  height: 48px;
  border-radius: 999px !important;
  margin: 0;
  padding: 0 1.35rem;
  border: 3px solid #fff;
  background: linear-gradient(135deg, var(--store-blue), #0a8cff);
  color: #fff;
  font-size: .92rem;
  font-weight: 800;
  text-shadow: none;
  box-shadow: none;
}

#cart.store-header-cart {
  margin-bottom: 0 !important;
}

#cart .store-cart-button {
  height: 48px;
  border: none;
  border-radius: 999px;
  background: #0f172a;
  color: #fff;
  font-size: .92rem;
  font-weight: 800;
  padding: 0 .95rem;
  box-shadow: 0 12px 24px rgba(15, 23, 42, .16);
  white-space: nowrap;
}

#cart .store-cart-button:hover {
  background: #16223a;
}

#cart .dropdown-menu {
  background: #fff;
  border: 1px solid var(--store-border);
  border-radius: 18px;
  box-shadow: var(--store-shadow);
  margin-top: .6rem !important;
}

#menu.store-menu {
  background: #ffffff;
  background-image: none;
  border: 1px solid var(--store-border);
  border-radius: 18px;
  box-shadow: 0 12px 30px rgba(15, 23, 42, .06);
  min-height: 52px;
  padding: .25rem .5rem;
  margin: 1rem 0 1.25rem;
}

#menu .store-menu-nav {
  width: 100%;
  gap: .15rem;
}

#menu .navbar-nav > li > a,
#menu .navbar-nav > li > .dropdown-item {
  color: #24324a;
  text-shadow: none;
  font-size: .92rem;
  font-weight: 800;
  border-radius: 999px;
  padding: .72rem .95rem;
  text-decoration: none;
}

#menu .navbar-nav > li > a:hover,
#menu .navbar-nav > li > .dropdown-item:hover,
#menu .navbar-nav > li.show > a {
  color: var(--store-blue);
  background: var(--store-blue-soft);
}

#menu .dropdown-menu.store-menu-dropdown {
  border: 1px solid var(--store-border);
  border-radius: 18px;
  box-shadow: var(--store-shadow);
  padding: .8rem;
  margin-top: .35rem;
  overflow: hidden;
}

#menu .dropdown-inner ul {
  min-width: 210px;
  padding: .15rem;
}

#menu .dropdown-item {
  border-radius: 12px;
  color: #334155;
  font-size: .9rem;
  padding: .55rem .75rem;
}

#menu .dropdown-item:hover {
  color: var(--store-blue);
  background: var(--store-blue-soft);
}

#menu .store-menu-all .dropdown-item {
  font-weight: 800;
  color: var(--store-blue);
}

#category {
  color: var(--store-ink);
  text-shadow: none;
  font-size: 1rem;
  line-height: 42px;
  display: flex !important;
  align-items: center;
  gap: .45rem;
}

#menu .navbar-toggler {
  margin-left: auto;
  border: none;
  border-radius: 12px;
  background: var(--store-blue-soft);
  padding: .5rem .7rem;
}

#menu .navbar-toggler i {
  color: var(--store-blue);
  border: none;
}

.breadcrumb {
  background: rgba(255,255,255,.82);
  border: 1px solid var(--store-border);
  border-radius: 16px;
  box-shadow: 0 10px 24px rgba(15, 23, 42, .04);
  padding: .75rem 1rem;
  overflow-x: auto;
}

.breadcrumb > li.breadcrumb-item {
  text-shadow: none;
  padding: 0 .8rem 0 0;
  color: var(--store-muted);
  font-size: .9rem;
}

.breadcrumb > li.breadcrumb-item:after {
  display: none;
}

.breadcrumb > li.breadcrumb-item + li:before {
  content: '/';
  padding-right: .8rem;
  color: #a0aec0;
}

.breadcrumb a {
  color: #52627a;
  text-decoration: none;
}

.breadcrumb a:hover {
  color: var(--store-blue);
}

footer.store-footer {
  border: none;
  position: absolute;
  bottom: -1px;
  width: 100%;
  padding: 2.2rem 0 1.6rem;
  background: radial-gradient(circle at top left, rgba(37, 99, 235, .28), transparent 36%), linear-gradient(135deg, #071932 0%, #0f172a 58%, #111827 100%);
  color: #dbeafe;
}

.store-footer-brand {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0 0 1.25rem;
  margin-bottom: 1.2rem;
  border-bottom: 1px solid rgba(255,255,255,.12);
}

.store-footer-brand strong {
  display: block;
  color: #fff;
  font-size: 1.35rem;
  font-weight: 900;
  letter-spacing: -.03em;
}

.store-footer-brand span {
  color: #b9c7dc;
  font-size: .92rem;
}

.store-footer-contact {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  padding: .65rem .9rem;
  border-radius: 999px;
  background: rgba(255,255,255,.1);
  color: #fff !important;
  font-weight: 800;
}

footer.store-footer h5 {
  color: #ffffff;
  font-size: .82rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-bottom: .85rem;
}

footer.store-footer a {
  color: #cbd5e1;
  font-size: .93rem;
}

footer.store-footer a:hover {
  color: #ffffff;
}

footer.store-footer li + li {
  margin-top: .42rem;
}

footer.store-footer hr {
  border-color: rgba(255,255,255,.12);
  margin: 1.4rem 0 .9rem;
}

.store-footer-powered {
  color: #94a3b8;
  font-size: .86rem;
  margin: 0;
}

@media (max-width: 991.98px) {
  .store-topbar-left {
    justify-content: center;
  }
  .store-topbar .text-lg-end {
    text-align: center !important;
  }
  .store-header {
    position: static;
  }
  #logo.store-logo {
    text-align: center;
  }
  #menu.store-menu {
    margin-top: .75rem;
  }
  #menu .navbar-nav > li > a,
  #menu .navbar-nav > li > .dropdown-item {
    border-radius: 12px;
    padding: .7rem .8rem;
  }
  .store-footer-brand {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 575.98px) {
  .store-topbar-message {
    font-size: .7rem;
    text-align: center;
  }
  #top .store-topbar-links .list-inline-item {
    margin: 0 .35rem;
  }
  #top .list-inline-item > a,
  #top .list-inline-item .dropdown > a {
    font-size: .82rem;
  }
  .store-header {
    padding: .85rem 0;
  }
  .store-search {
    border-radius: 18px;
  }
  #search .store-search .btn-lg,
  .store-search .btn-lg {
    padding: 0 .9rem;
  }
}


/* Premium search criteria panel */
.search-criteria-card {
  background: #fff;
  border: 1px solid var(--store-border);
  border-radius: 20px;
  box-shadow: 0 12px 30px rgba(15, 23, 42, .06);
  padding: 1rem;
  margin-bottom: 1.15rem;
}

.search-criteria-card .col-form-label {
  color: var(--store-ink);
  font-size: .82rem;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding-top: 0;
}

.search-criteria-card .form-control,
.search-criteria-card .form-select {
  border-color: var(--store-border);
  border-radius: 14px;
  min-height: 44px;
  box-shadow: none;
}

.search-criteria-card .form-control:focus,
.search-criteria-card .form-select:focus {
  border-color: rgba(11, 94, 215, .45);
  box-shadow: 0 0 0 .2rem rgba(11, 94, 215, .08);
}

.search-criteria-card .form-check-label {
  color: var(--store-muted);
  font-size: .9rem;
}

.search-criteria-card #button-search {
  border: none;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--store-blue), #0a8cff);
  font-weight: 800;
  padding: .65rem 1.25rem;
  box-shadow: 0 10px 22px rgba(11, 94, 215, .22);
}


/* Premium product detail page */
#product-info .product-detail-shell {
  align-items: flex-start;
}

.product-gallery-card,
.product-summary-card {
  background: #fff;
  border: 1px solid var(--store-border);
  border-radius: 24px;
  box-shadow: 0 16px 36px rgba(15, 23, 42, .07);
}

.product-gallery-card {
  padding: 1.25rem;
  text-align: center;
}

.product-gallery-card > a:first-child {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 420px;
  border-radius: 18px;
  background: linear-gradient(180deg, #ffffff, #f8fbff);
}

.product-gallery-card .img-thumbnail {
  border: 1px solid rgba(219, 229, 242, .8);
  border-radius: 16px;
  box-shadow: none;
  max-height: 420px;
  object-fit: contain;
}

.product-gallery-card > div:not(:first-child) {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  justify-content: center;
  margin-top: .75rem;
}

.product-gallery-card > div a img,
.product-gallery-card > div .img-thumbnail {
  width: 72px;
  height: 72px;
  object-fit: contain;
  background: #fff;
}

.product-summary-card {
  padding: 1.25rem;
}

.product-summary-card h1 {
  color: var(--store-ink);
  font-size: clamp(1.35rem, 2vw, 2rem);
  font-weight: 900;
  line-height: 1.18;
  letter-spacing: -.035em;
  margin-bottom: 1rem;
}

.product-meta-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .45rem .7rem;
  margin-bottom: 1rem;
}

.product-meta-list li {
  background: #f8fbff;
  border: 1px solid var(--store-border);
  border-radius: 13px;
  color: #475569;
  font-size: .88rem;
  padding: .55rem .7rem;
}

.product-meta-list a {
  color: var(--store-blue);
  font-weight: 800;
  text-decoration: none;
}

.product-key-specs {
  border: 1px solid var(--store-border) !important;
  border-radius: 18px !important;
  box-shadow: none;
  overflow: hidden;
}

.product-key-specs .card-header {
  background: linear-gradient(135deg, #f8fbff, #eef5ff);
  border-bottom: 1px solid var(--store-border);
  color: var(--store-ink);
  font-size: .82rem;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.product-key-specs .fw-semibold {
  color: var(--store-ink);
}

.product-price-list {
  background: #f8fbff;
  border: 1px solid var(--store-border);
  border-radius: 18px;
  padding: 1rem;
  margin-bottom: 1rem;
}

.product-price-list h2 {
  margin: 0;
}

.product-price-list .price-new {
  color: var(--store-blue);
  font-size: clamp(1.7rem, 3vw, 2.35rem);
  font-weight: 950;
  letter-spacing: -.04em;
}

#product-info .btn-group .btn-light {
  border: 1px solid var(--store-border);
  border-radius: 999px !important;
  color: #52627a;
  margin-right: .45rem;
}

#product-info #product {
  background: #fff;
  border: 1px solid var(--store-border);
  border-radius: 18px;
  padding: 1rem;
}

#product-info #product .input-group {
  border: 1px solid var(--store-border);
  border-radius: 999px;
  overflow: hidden;
  box-shadow: 0 12px 26px rgba(15, 23, 42, .06);
}

#product-info #product .input-group-text,
#product-info #product .form-control {
  border: none;
  background: #fff;
}

#product-info #button-cart {
  border: none;
  background: linear-gradient(135deg, var(--store-blue), #0a8cff);
  font-weight: 900;
  padding-left: 1.4rem;
  padding-right: 1.4rem;
}

.product-detail-tabs {
  border: none;
  gap: .5rem;
  margin-top: .5rem;
  margin-bottom: 1rem;
}

.product-detail-tabs .nav-link {
  border: 1px solid var(--store-border);
  border-radius: 999px;
  color: #52627a;
  font-weight: 800;
  background: #fff;
}

.product-detail-tabs .nav-link.active {
  color: #fff;
  background: var(--store-blue);
  border-color: var(--store-blue);
}

#product-info .tab-content {
  background: #fff;
  border: 1px solid var(--store-border);
  border-radius: 22px;
  box-shadow: 0 14px 32px rgba(15, 23, 42, .05);
  padding: 1.25rem;
  margin-bottom: 1.5rem;
}

#product-info .tab-content .table {
  margin-bottom: 0;
}

#product-info .tab-content .table thead td {
  background: #f8fbff;
  color: var(--store-ink);
}

.diten-delivery-impact-card {
  position: relative;
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 1rem;
  align-items: center;
  margin-top: 1rem;
  padding: 1.15rem 1.25rem;
  color: #ffffff;
  background:
    radial-gradient(circle at 92% 12%, rgba(255,255,255,.26), transparent 30%),
    linear-gradient(135deg, #022c35 0%, #04766d 46%, #00caa7 100%);
  border: 1px solid rgba(0, 202, 167, .45);
  border-radius: 24px;
  box-shadow: 0 22px 52px rgba(0, 104, 94, .24), inset 0 1px 0 rgba(255,255,255,.22);
  overflow: hidden;
}

.diten-delivery-impact-card::after {
  content: "";
  position: absolute;
  inset: auto -42px -56px auto;
  width: 150px;
  height: 150px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .13);
}

.diten-delivery-impact-icon {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  border-radius: 22px;
  color: #064e3b;
  background: #ffffff;
  box-shadow: 0 14px 30px rgba(0, 0, 0, .16);
  font-size: 1.35rem;
}

.diten-delivery-impact-copy {
  position: relative;
  z-index: 1;
  min-width: 0;
}

.diten-delivery-impact-copy span {
  display: block;
  margin-bottom: .2rem;
  color: rgba(255,255,255,.78);
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.diten-delivery-impact-copy strong {
  display: block;
  color: #ffffff;
  font-size: clamp(1rem, 1.7vw, 1.28rem);
  font-weight: 950;
  line-height: 1.22;
}

.diten-delivery-impact-copy small {
  display: block;
  margin-top: .3rem;
  color: rgba(255,255,255,.82);
  font-size: .82rem;
  line-height: 1.35;
}

.diten-product-description-card {
  margin-top: 1rem;
  padding: 1.1rem 1.2rem;
  background: linear-gradient(135deg, rgba(255, 255, 255, .96), rgba(248, 250, 252, .94));
  border: 1px solid var(--store-border);
  border-radius: 22px;
  box-shadow: 0 16px 36px rgba(15, 23, 42, .06);
}

.diten-product-description-card__header {
  display: flex;
  align-items: center;
  gap: .65rem;
  margin-bottom: .75rem;
  color: var(--store-ink);
}

.diten-product-description-card__header span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 14px;
  background: rgba(0, 202, 167, .13);
  color: var(--store-blue);
}

.diten-product-description-card__header strong {
  font-size: .98rem;
  font-weight: 900;
}

.diten-product-description-card__body {
  color: #475569;
  font-size: .92rem;
  line-height: 1.65;
}

.diten-product-description-card__body p:last-child {
  margin-bottom: 0;
}

.diten-product-assurance-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .85rem;
  margin-top: 1rem;
}

.diten-assurance-card {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: .75rem;
  align-items: flex-start;
  min-height: 132px;
  padding: 1rem;
  background: rgba(255, 255, 255, .92);
  border: 1px solid var(--store-border);
  border-radius: 20px;
  box-shadow: 0 14px 32px rgba(15, 23, 42, .055);
}

.diten-assurance-card.is-primary {
  background: linear-gradient(135deg, rgba(0, 202, 167, .12), rgba(255, 255, 255, .96));
  border-color: rgba(0, 202, 167, .28);
}

.diten-assurance-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 16px;
  background: rgba(0, 202, 167, .13);
  color: var(--store-blue);
  font-size: 1.05rem;
}

.diten-assurance-card strong {
  display: block;
  color: var(--store-ink);
  font-size: .92rem;
  font-weight: 900;
  line-height: 1.2;
  margin-bottom: .35rem;
}

.diten-assurance-card p {
  margin: 0;
  color: #64748b;
  font-size: .82rem;
  line-height: 1.45;
}

@media (max-width: 1199.98px) {
  .diten-product-assurance-grid {
    grid-template-columns: 1fr;
  }

  .diten-delivery-impact-card {
    grid-template-columns: 54px 1fr;
    padding: 1rem;
    border-radius: 20px;
  }

  .diten-delivery-impact-icon {
    width: 54px;
    height: 54px;
    border-radius: 18px;
  }

  .diten-assurance-card {
    min-height: 0;
  }
}

@media (max-width: 991.98px) {
  .product-gallery-card > a:first-child {
    min-height: 280px;
  }
  .product-meta-list {
    grid-template-columns: 1fr;
  }
}


/* Premium cart and checkout */
.mini-cart-menu {
  width: min(420px, calc(100vw - 24px));
  border: 1px solid var(--store-border) !important;
  border-radius: 22px !important;
  box-shadow: 0 24px 60px rgba(15, 23, 42, .18) !important;
  padding: 0 !important;
  overflow: hidden;
}

.mini-cart-header,
.mini-cart-actions,
.mini-cart-totals {
  padding: 1rem;
}

.mini-cart-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--store-border);
  background: linear-gradient(135deg, #f8fbff, #eef5ff);
}

.mini-cart-header strong {
  display: block;
  color: var(--store-ink);
  font-size: 1.05rem;
}

.mini-cart-kicker,
.cart-page-kicker,
.checkout-kicker {
  display: block;
  color: var(--store-blue);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.mini-cart-header a,
.mini-cart-name,
.cart-item-name,
.checkout-confirm-product a {
  color: var(--store-ink);
  font-weight: 850;
  text-decoration: none;
}

.mini-cart-header a:hover,
.mini-cart-name:hover,
.cart-item-name:hover,
.checkout-confirm-product a:hover {
  color: var(--store-blue);
}

.mini-cart-products {
  max-height: 360px;
  overflow: auto;
}

.mini-cart-product {
  display: grid;
  grid-template-columns: 72px 1fr 34px;
  gap: .75rem;
  padding: .9rem 1rem;
  border-bottom: 1px solid #edf2f7;
}

.mini-cart-thumb img {
  width: 72px;
  height: 72px;
  object-fit: contain;
  border: 1px solid var(--store-border);
  border-radius: 14px;
  background: #fff;
}

.mini-cart-info {
  min-width: 0;
}

.mini-cart-name {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: .9rem;
  line-height: 1.25;
}

.mini-cart-meta {
  color: var(--store-muted);
  font-size: .78rem;
  margin-top: .15rem;
}

.mini-cart-line {
  display: flex;
  justify-content: space-between;
  gap: .75rem;
  margin-top: .45rem;
  color: var(--store-muted);
  font-size: .86rem;
}

.mini-cart-line strong {
  color: var(--store-blue);
}

.mini-cart-remove {
  width: 30px;
  height: 30px;
  border-radius: 999px;
  background: #fff1f2;
  color: #e11d48;
  padding: 0;
}

.mini-cart-total-row,
.cart-summary-row,
.checkout-confirm-row {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  color: #475569;
  padding: .4rem 0;
}

.mini-cart-total-final,
.cart-summary-final,
.checkout-confirm-final {
  margin-top: .45rem;
  padding-top: .75rem;
  border-top: 1px solid var(--store-border);
  color: var(--store-ink);
  font-size: 1.08rem;
}

.mini-cart-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .65rem;
  border-top: 1px solid var(--store-border);
  background: #f8fbff;
}

.mini-cart-actions .btn,
.cart-checkout-btn,
.cart-continue-btn {
  border-radius: 999px;
  font-weight: 850;
}

.mini-cart-actions .btn-primary,
.cart-checkout-btn,
.checkout-page .btn-primary {
  border: none;
  background: linear-gradient(135deg, var(--store-blue), #0a8cff);
  box-shadow: 0 12px 24px rgba(11, 94, 215, .18);
}

.mini-cart-empty,
.cart-empty-state {
  padding: 2rem 1.25rem;
  text-align: center;
}

.mini-cart-empty-icon,
.cart-empty-icon {
  width: 64px;
  height: 64px;
  border-radius: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--store-blue-soft);
  color: var(--store-blue);
  font-size: 1.4rem;
  margin-bottom: .75rem;
}

.cart-page-hero,
.checkout-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  background: linear-gradient(135deg, #0f172a, #0b5ed7);
  border-radius: 26px;
  color: #fff;
  padding: 1.35rem 1.5rem;
  margin-bottom: 1.2rem;
  box-shadow: 0 22px 54px rgba(15, 23, 42, .16);
}

.cart-page-hero h1,
.checkout-hero h1 {
  color: #fff !important;
  margin: .1rem 0 .35rem;
  font-weight: 950;
}

.cart-page-hero p,
.checkout-hero p {
  color: rgba(255,255,255,.78);
  margin: 0;
}

.cart-page-hero .cart-page-kicker,
.checkout-hero .checkout-kicker {
  color: #bfdbfe;
}

.cart-page-trust,
.checkout-trust {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  border-radius: 999px;
  background: rgba(255,255,255,.12);
  color: #fff;
  font-weight: 850;
  padding: .7rem .95rem;
}

.cart-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 1.1rem;
  align-items: start;
}

.cart-items-card,
.cart-summary-card,
.cart-modules-card,
.checkout-card,
.checkout-confirm-table {
  background: #fff;
  border: 1px solid var(--store-border);
  border-radius: 24px;
  box-shadow: 0 16px 36px rgba(15, 23, 42, .07);
}

.cart-items-header {
  display: flex;
  justify-content: space-between;
  padding: 1rem 1.1rem;
  border-bottom: 1px solid var(--store-border);
}

.cart-items-header strong,
.cart-summary-card h2,
.checkout-confirm-header strong {
  color: var(--store-ink);
}

.cart-items-header span,
.checkout-confirm-header span {
  color: var(--store-muted);
}

.cart-item-row {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr) 190px 110px 120px;
  gap: .95rem;
  align-items: center;
  padding: 1rem 1.1rem;
  border-bottom: 1px solid #edf2f7;
}

.cart-item-row:last-child {
  border-bottom: none;
}

.cart-item-image img {
  width: 96px;
  height: 96px;
  object-fit: contain;
  border: 1px solid var(--store-border);
  border-radius: 18px;
  background: #fff;
}

.cart-item-name {
  display: block;
  line-height: 1.3;
}

.cart-item-meta {
  color: var(--store-muted);
  font-size: .82rem;
  margin-top: .2rem;
}

.cart-item-qty .input-group {
  border: 1px solid var(--store-border);
  border-radius: 999px;
  overflow: hidden;
}

.cart-item-qty .form-control,
.cart-item-qty .btn {
  border: none;
}

.cart-item-qty .form-control {
  text-align: center;
}

.cart-item-price span,
.cart-item-total span {
  display: block;
  color: var(--store-muted);
  font-size: .75rem;
  font-weight: 800;
  text-transform: uppercase;
}

.cart-item-price strong,
.cart-item-total strong {
  color: var(--store-ink);
}

.cart-summary-card {
  padding: 1.1rem;
  position: sticky;
  top: 112px;
}

.cart-summary-card h2 {
  font-size: 1.25rem;
  font-weight: 950;
  margin: .15rem 0 .8rem;
}

.cart-checkout-btn,
.cart-continue-btn {
  display: block;
  width: 100%;
  margin-top: .75rem;
  padding: .78rem 1rem;
}

.cart-modules-card {
  margin-top: 1.1rem;
  padding: 1.1rem;
}

.checkout-steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: .7rem;
  margin-bottom: 1.15rem;
}

.checkout-step {
  display: flex;
  align-items: center;
  gap: .55rem;
  background: #fff;
  border: 1px solid var(--store-border);
  border-radius: 999px;
  color: #52627a;
  font-weight: 850;
  padding: .65rem .85rem;
}

.checkout-step span {
  width: 26px;
  height: 26px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #eef5ff;
  color: var(--store-blue);
  font-size: .82rem;
}

.checkout-step.active {
  color: var(--store-blue);
  border-color: rgba(11, 94, 215, .28);
  background: #f8fbff;
}

.checkout-card {
  padding: 1.1rem;
  margin-bottom: 1rem;
}

.checkout-card fieldset {
  margin: 0;
}

.checkout-card legend {
  color: var(--store-ink);
  border: none;
  margin: 0 0 1rem;
  padding: 0;
  font-size: 1rem;
  font-weight: 950;
  letter-spacing: -.02em;
}

.checkout-card .form-label,
.checkout-card .form-check-label {
  color: #334155;
  font-weight: 750;
}

.checkout-card .form-control,
.checkout-card .form-select,
.checkout-card textarea {
  border-color: var(--store-border);
  border-radius: 14px;
  min-height: 44px;
  box-shadow: none;
}

.checkout-card .input-group {
  border: 1px solid var(--store-border);
  border-radius: 999px;
  overflow: hidden;
}

.checkout-card .input-group .form-control,
.checkout-card .input-group .input-group-text,
.checkout-card .input-group .btn {
  border: none;
}

.checkout-confirm-table {
  box-shadow: none;
  overflow: hidden;
}

.checkout-confirm-header {
  display: flex;
  justify-content: space-between;
  gap: .8rem;
  padding: .9rem 1rem;
  border-bottom: 1px solid var(--store-border);
  background: #f8fbff;
}

.checkout-confirm-product {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: .9rem 1rem;
  border-bottom: 1px solid #edf2f7;
}

.checkout-confirm-meta {
  color: var(--store-muted);
  font-size: .82rem;
  margin-top: .15rem;
}

.checkout-confirm-total {
  color: var(--store-blue);
  white-space: nowrap;
}

.checkout-confirm-totals {
  padding: .85rem 1rem;
}

.checkout-confirm-action {
  margin-top: 1rem;
}

.modal-content {
  border: 1px solid var(--store-border);
  border-radius: 22px;
  box-shadow: 0 24px 64px rgba(15, 23, 42, .2);
}

.modal-header {
  background: linear-gradient(135deg, #f8fbff, #eef5ff);
  border-bottom-color: var(--store-border);
  border-radius: 22px 22px 0 0;
}

@media (max-width: 1199.98px) {
  .cart-layout {
    grid-template-columns: 1fr;
  }
  .cart-summary-card {
    position: static;
  }
  .cart-item-row {
    grid-template-columns: 88px minmax(0, 1fr) 180px;
  }
  .cart-item-price,
  .cart-item-total {
    grid-column: span 1;
  }
}

@media (max-width: 767.98px) {
  .cart-page-hero,
  .checkout-hero {
    flex-direction: column;
    align-items: flex-start;
    border-radius: 20px;
  }
  .checkout-steps {
    grid-template-columns: 1fr 1fr;
  }
  .cart-item-row {
    grid-template-columns: 82px minmax(0, 1fr);
  }
  .cart-item-qty,
  .cart-item-price,
  .cart-item-total {
    grid-column: 1 / -1;
  }
  .mini-cart-actions {
    grid-template-columns: 1fr;
  }
}


/* Diten.mx brand alignment */
:root {
  --store-blue: #00a884;
  --store-blue-dark: #05765f;
  --store-blue-soft: #e7fff8;
  --store-ink: #101214;
}

#top.store-topbar {
  background: #0b0d10;
}

.store-topbar-message {
  color: #d6fff3;
}

.store-header {
  background: #ffffff;
}

#menu.store-menu {
  background: #0b0d10;
  border-color: #0b0d10;
  box-shadow: 0 14px 32px rgba(0, 0, 0, .12);
}

#menu .navbar-nav > li > a,
#menu .navbar-nav > li > .dropdown-item,
#category {
  color: #ffffff;
}

#menu .navbar-nav > li > a:hover,
#menu .navbar-nav > li > .dropdown-item:hover,
#menu .navbar-nav > li.show > a {
  color: #00d69f;
  background: rgba(0, 214, 159, .12);
}

#menu .navbar-toggler {
  background: rgba(0, 214, 159, .12);
}

#menu .navbar-toggler i {
  color: #00d69f;
}

.store-search {
  border-radius: 18px;
}

#search .store-search .btn-lg,
.store-search .btn-lg,
.product-card .product-card-primary-cta,
.cart-checkout-btn,
.checkout-page .btn-primary,
.search-criteria-card #button-search,
#product-info #button-cart {
  background: linear-gradient(135deg, #00a884, #00d69f) !important;
  color: #07110e !important;
  font-weight: 950;
}

.product-card-brand,
.cart-summary-card h2,
.checkout-confirm-total,
.product-price-list .price-new,
.product-card-price,
.mini-cart-line strong {
  color: #006d57 !important;
}

.store-footer-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  justify-content: flex-end;
}

footer.store-footer {
  background: radial-gradient(circle at top left, rgba(0, 214, 159, .22), transparent 34%), linear-gradient(135deg, #050607 0%, #0b0d10 62%, #111827 100%);
}

.store-footer-contact {
  background: rgba(0, 214, 159, .12);
}

.store-footer-brand strong::after {
  content: '';
  display: block;
  width: 52px;
  height: 4px;
  margin-top: .35rem;
  border-radius: 999px;
  background: #00d69f;
}

@media (max-width: 991.98px) {
  .store-footer-actions {
    justify-content: flex-start;
  }
}


/* Diten.mx replacement home */
.diten-home {
  background: #f4f7f8;
}

.diten-hero {
  margin-top: -1px;
  padding: 3.2rem 0 2.6rem;
  background:
    radial-gradient(circle at 80% 10%, rgba(0, 214, 159, .26), transparent 34%),
    linear-gradient(135deg, #050607 0%, #111827 52%, #050607 100%);
  color: #fff;
}

.diten-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(300px, .7fr);
  gap: 2rem;
  align-items: center;
}

.diten-kicker {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  color: #00d69f;
  font-size: .78rem;
  font-weight: 950;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.diten-hero h1 {
  max-width: 820px;
  margin: .65rem 0 1rem;
  font-size: clamp(2rem, 4.4vw, 4.15rem);
  line-height: .98;
  font-weight: 950;
  letter-spacing: -.055em;
}

.diten-hero p {
  max-width: 680px;
  color: #d7e2e8;
  font-size: 1.08rem;
  line-height: 1.7;
}

.diten-hero-actions,
.diten-configurator-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .8rem;
  margin-top: 1.35rem;
}

.diten-hero-actions .btn-primary,
.diten-configurator-actions .btn-primary {
  background: linear-gradient(135deg, #00a884, #00d69f) !important;
  border-color: transparent !important;
  color: #07110e !important;
  font-weight: 950;
}

.diten-hero-actions .btn-outline-light {
  border-color: rgba(255,255,255,.35);
  color: #fff;
  font-weight: 850;
}

.diten-hero-trust {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  margin-top: 1.4rem;
}

.diten-hero-trust span {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  padding: .55rem .8rem;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 999px;
  background: rgba(255,255,255,.06);
  color: #dffcf4;
  font-weight: 800;
  font-size: .88rem;
}

.diten-hero-panel,
.diten-configurator-card {
  padding: 1.25rem;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 28px;
  background: rgba(255,255,255,.08);
  box-shadow: 0 24px 70px rgba(0,0,0,.28);
  backdrop-filter: blur(12px);
}

.diten-panel-label {
  display: block;
  margin-bottom: .8rem;
  color: #b9c7dc;
  font-weight: 900;
  text-transform: uppercase;
  font-size: .78rem;
  letter-spacing: .08em;
}

.diten-hero-category-list {
  display: grid;
  gap: .7rem;
}

.diten-hero-category-list a {
  display: flex;
  align-items: center;
  gap: .8rem;
  padding: .86rem .95rem;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 18px;
  background: rgba(255,255,255,.08);
  color: #fff;
  font-weight: 900;
}

.diten-hero-category-list i,
.diten-category-card i,
.diten-benefit-grid i {
  color: #00d69f;
}

.diten-hero-note {
  margin-top: 1rem;
  padding: 1rem;
  border-radius: 20px;
  background: rgba(0, 214, 159, .14);
}

.diten-hero-note strong,
.diten-hero-note span {
  display: block;
}

.diten-hero-note span {
  color: #d6fff3;
  font-size: .92rem;
  margin-top: .25rem;
}

.diten-section {
  padding: 2.5rem 0;
}

.diten-section-heading {
  max-width: 760px;
  margin-bottom: 1.25rem;
}

.diten-section-heading.compact {
  margin-bottom: .85rem;
}

.diten-section-heading h2,
.diten-configurator-card h2 {
  margin: .3rem 0 .35rem;
  color: #101214;
  font-size: clamp(1.65rem, 3vw, 2.55rem);
  font-weight: 950;
  letter-spacing: -.035em;
}

.diten-section-heading p,
.diten-configurator-card p {
  color: #64748b;
  margin: 0;
}

.diten-category-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.diten-category-card,
.diten-benefit-grid > div {
  display: flex;
  flex-direction: column;
  gap: .45rem;
  padding: 1.2rem;
  min-height: 170px;
  border: 1px solid #e2e8f0;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 16px 42px rgba(15, 23, 42, .07);
  color: #101214;
}

.diten-category-card:hover {
  transform: translateY(-3px);
  border-color: rgba(0,168,132,.38);
  box-shadow: 0 20px 50px rgba(0, 168, 132, .12);
}

.diten-category-card i,
.diten-benefit-grid i {
  font-size: 1.7rem;
}

.diten-category-card strong,
.diten-benefit-grid strong {
  font-size: 1.05rem;
  font-weight: 950;
}

.diten-category-card span,
.diten-benefit-grid span {
  color: #64748b;
  font-size: .92rem;
  line-height: 1.45;
}

.diten-benefits {
  padding-top: .7rem;
}

.diten-benefit-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.diten-benefit-grid > div {
  min-height: 145px;
}

.diten-configurators {
  padding-top: .7rem;
}

.diten-configurator-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.2rem;
  background: #fff;
  border-color: #dbe5ea;
  box-shadow: 0 18px 50px rgba(15,23,42,.08);
}

.diten-configurator-actions {
  margin-top: 0;
  justify-content: flex-end;
}

.diten-brand-strip {
  display: flex;
  flex-wrap: wrap;
  gap: .7rem;
}

.diten-brand-strip a {
  padding: .7rem 1rem;
  border: 1px solid #dbe5ea;
  border-radius: 999px;
  background: #fff;
  color: #101214;
  font-weight: 950;
  box-shadow: 0 10px 24px rgba(15,23,42,.05);
}

.diten-brand-strip a:hover {
  color: #006d57;
  border-color: rgba(0,168,132,.45);
}

.diten-social-links {
  display: flex;
  gap: .55rem;
  margin-top: .9rem;
}

.diten-social-links a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 999px;
  background: rgba(0,214,159,.13);
  color: #00d69f !important;
}

.diten-social-links a:hover {
  background: #00d69f;
  color: #07110e !important;
}

@media (max-width: 991.98px) {
  .diten-hero-grid,
  .diten-category-grid,
  .diten-benefit-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .diten-configurator-card {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 575.98px) {
  html,
  body,
  #container {
    overflow-x: clip;
  }
  .diten-hero {
    padding: 2rem 0;
  }
  .diten-hero-grid,
  .diten-category-grid,
  .diten-benefit-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .diten-hero-grid > *,
  .diten-hero-copy,
  .diten-hero-panel,
  .diten-section-heading {
    min-width: 0;
    max-width: 100%;
  }
  .diten-kicker {
    align-items: flex-start;
    white-space: normal;
    overflow-wrap: anywhere;
    line-height: 1.35;
  }
  .diten-hero h1 {
    max-width: 100%;
    font-size: clamp(2rem, 9vw, 2.85rem);
    line-height: 1.04;
    letter-spacing: -.045em;
    overflow-wrap: normal;
    word-break: normal;
    text-wrap: balance;
  }
  .diten-hero p {
    width: 100%;
    max-width: min(100%, 34ch);
    font-size: .94rem;
    line-height: 1.58;
    overflow-wrap: break-word;
    word-break: normal;
    hyphens: manual;
  }
  .diten-hero-actions .btn,
  .diten-configurator-actions .btn {
    width: 100%;
    justify-content: center;
  }
  .diten-hero-trust span {
    max-width: 100%;
    overflow-wrap: anywhere;
  }
  .store-topbar-message {
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
    line-height: 1.3;
    justify-content: center;
    text-align: center;
  }
  .diten-category-card,
  .diten-benefit-grid > div {
    min-height: auto;
  }
}


/* Premium Diten category menu */
#menu.diten-category-menu {
  position: relative;
  z-index: 80;
  padding: .55rem;
  border: 1px solid rgba(0, 214, 159, .22);
  border-radius: 22px;
  background: linear-gradient(135deg, #080a0c 0%, #101418 100%);
  box-shadow: 0 18px 42px rgba(0, 0, 0, .16);
  margin: 1rem 0 1.35rem;
}

.diten-menu-shell {
  display: flex;
  align-items: stretch;
  gap: .65rem;
  width: 100%;
  min-width: 0;
}

.diten-menu-all {
  flex: 0 0 auto;
}

.diten-menu-all-button {
  display: flex;
  align-items: center;
  gap: .75rem;
  min-height: 52px;
  padding: .55rem 1rem .55rem .65rem;
  border: 1px solid rgba(0, 214, 159, .32);
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(0, 214, 159, .18), rgba(0, 168, 132, .08));
  color: #fff;
  text-decoration: none;
}

.diten-menu-all-button:hover,
.diten-menu-all.show .diten-menu-all-button {
  color: #fff;
  background: linear-gradient(135deg, rgba(0, 214, 159, .28), rgba(0, 168, 132, .16));
}

.diten-menu-all-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 14px;
  background: #00d69f;
  color: #07110e;
}

.diten-menu-all-button strong,
.diten-menu-all-button small {
  display: block;
  line-height: 1.05;
}

.diten-menu-all-button strong {
  font-size: .94rem;
  font-weight: 950;
}

.diten-menu-all-button small {
  margin-top: .2rem;
  color: #b7fff0;
  font-weight: 750;
  font-size: .72rem;
}

#menu .diten-menu-quick {
  display: flex;
  flex-wrap: nowrap;
  gap: .28rem;
  overflow-x: auto;
  overflow-y: visible;
  width: 100%;
  min-width: 0;
  scrollbar-width: thin;
  scrollbar-color: rgba(0,214,159,.45) transparent;
  padding-bottom: .05rem;
}

#menu .diten-menu-quick::-webkit-scrollbar {
  height: 4px;
}

#menu .diten-menu-quick::-webkit-scrollbar-thumb {
  background: rgba(0,214,159,.45);
  border-radius: 99px;
}

#menu .diten-menu-item {
  flex: 0 0 auto;
}

#menu .diten-menu-link,
#menu .navbar-nav > li > a.diten-menu-link,
#menu .navbar-nav > li > .dropdown-item.diten-menu-link {
  display: inline-flex;
  align-items: center;
  gap: .48rem;
  min-height: 52px;
  padding: .74rem .86rem;
  border-radius: 16px;
  color: #edf7f4;
  background: transparent;
  text-shadow: none;
  white-space: nowrap;
  font-size: .88rem;
  font-weight: 900;
}

#menu .diten-menu-link i {
  color: #00d69f;
  font-size: .95rem;
}

#menu .diten-menu-link:hover,
#menu .diten-menu-item.show > .diten-menu-link {
  color: #07110e;
  background: #00d69f;
}

#menu .diten-menu-link:hover i,
#menu .diten-menu-item.show > .diten-menu-link i {
  color: #07110e;
}

#menu .dropdown-menu.diten-mega-menu {
  left: 0;
  right: 0;
  width: min(1180px, calc(100vw - 2rem));
  max-height: min(72vh, 720px);
  overflow-y: auto;
  padding: 1rem;
  margin-top: .7rem;
  border: 1px solid rgba(0, 214, 159, .18);
  border-radius: 24px;
  background: #ffffff;
  box-shadow: 0 28px 80px rgba(0,0,0,.22);
}

.diten-mega-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .55rem .65rem 1rem;
  border-bottom: 1px solid #e2e8f0;
  margin-bottom: 1rem;
}

.diten-mega-header span {
  display: block;
  color: #00a884;
  font-size: .76rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-weight: 950;
}

.diten-mega-header strong {
  display: block;
  color: #101214;
  font-size: 1.45rem;
  font-weight: 950;
  letter-spacing: -.03em;
}

.diten-mega-search-link {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  padding: .65rem .9rem;
  border-radius: 999px;
  background: #e7fff8;
  color: #006d57;
  font-weight: 950;
}

.diten-mega-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .85rem;
}

.diten-mega-card {
  padding: .95rem;
  border: 1px solid #e2e8f0;
  border-radius: 20px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}

.diten-mega-card-title {
  display: flex;
  align-items: center;
  gap: .6rem;
  color: #101214;
  font-weight: 950;
  text-decoration: none;
}

.diten-mega-card-title i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 12px;
  background: #e7fff8;
  color: #00a884;
}

.diten-mega-child-list {
  margin: .75rem 0 .7rem;
}

.diten-mega-child-list li + li {
  margin-top: .28rem;
}

.diten-mega-child-list a {
  display: block;
  color: #64748b;
  font-size: .86rem;
  line-height: 1.3;
}

.diten-mega-child-list a:hover,
.diten-mega-view-all:hover,
.diten-subcategory-link:hover {
  color: #006d57;
}

.diten-mega-view-all {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  color: #00a884;
  font-weight: 950;
  font-size: .86rem;
}

#menu .dropdown-menu.diten-subcategory-menu {
  min-width: 360px;
  max-width: min(720px, calc(100vw - 2rem));
  padding: .85rem;
  border: 1px solid rgba(0, 214, 159, .18);
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 24px 70px rgba(0,0,0,.20);
  margin-top: .65rem;
}

.diten-subcategory-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .8rem;
  padding: .25rem .25rem .75rem;
  border-bottom: 1px solid #e2e8f0;
  margin-bottom: .75rem;
}

.diten-subcategory-header span {
  color: #101214;
  font-weight: 950;
}

.diten-subcategory-header a {
  color: #00a884;
  font-weight: 900;
  font-size: .85rem;
}

.diten-subcategory-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .45rem;
}

.diten-subcategory-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .7rem;
  padding: .65rem .75rem;
  border-radius: 14px;
  color: #334155;
  background: #f8fafc;
  font-weight: 850;
  font-size: .88rem;
  text-decoration: none;
}

.diten-subcategory-link i {
  color: #94a3b8;
  font-size: .75rem;
}

.diten-subcategory-link:hover {
  background: #e7fff8;
}

.diten-menu-mobile-title {
  display: flex;
  align-items: center;
  gap: .5rem;
  color: #fff;
  font-weight: 950;
}

@media (min-width: 992px) {
  #menu.diten-category-menu .dropdown:hover > .dropdown-menu {
    display: block;
  }
}

@media (max-width: 991.98px) {
  #menu.diten-category-menu {
    padding: .7rem;
  }
  .diten-menu-collapse {
    width: 100%;
    margin-top: .65rem;
  }
  .diten-menu-shell {
    flex-direction: column;
  }
  .diten-menu-all-button {
    width: 100%;
  }
  #menu .diten-menu-quick {
    flex-direction: column;
    overflow: visible;
    gap: .35rem;
  }
  #menu .diten-menu-link,
  #menu .navbar-nav > li > a.diten-menu-link {
    width: 100%;
    justify-content: flex-start;
    white-space: normal;
    color: #edf7f4;
    background: rgba(255,255,255,.06);
  }
  #menu .dropdown-menu.diten-mega-menu,
  #menu .dropdown-menu.diten-subcategory-menu {
    position: static !important;
    transform: none !important;
    width: 100%;
    min-width: 0;
    max-width: none;
    max-height: none;
    margin: .4rem 0;
  }
  .diten-mega-grid,
  .diten-subcategory-grid {
    grid-template-columns: 1fr;
  }
  .diten-mega-header {
    align-items: flex-start;
    flex-direction: column;
  }
}


/* Diten category menu overflow fix */
.diten-menu-collapse {
  min-width: 0;
  width: 100%;
}

.diten-menu-shell {
  min-width: 0;
}

#menu .diten-menu-quick {
  flex: 1 1 auto;
  justify-content: flex-start;
  overflow: visible;
}

@media (min-width: 1200px) {
  #menu .diten-menu-link,
  #menu .navbar-nav > li > a.diten-menu-link {
    padding-left: .78rem;
    padding-right: .78rem;
    font-size: .84rem;
  }
}


/* Diten home contrast polish */
.diten-hero h1 {
  color: #ffffff !important;
  text-shadow: 0 10px 35px rgba(0,0,0,.34);
}

.diten-hero-copy > p {
  color: #e8f3f1 !important;
}


/* Compact mega category dropdown */
@media (min-width: 1200px) {
  .diten-mega-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: .65rem;
  }
  .diten-mega-card {
    padding: .72rem;
    border-radius: 17px;
  }
  .diten-mega-card-title {
    gap: .45rem;
    font-size: .9rem;
  }
  .diten-mega-card-title i {
    width: 30px;
    height: 30px;
    border-radius: 10px;
  }
  .diten-mega-child-list {
    margin: .5rem 0 .45rem;
  }
  .diten-mega-child-list a {
    font-size: .8rem;
  }
  #menu .dropdown-menu.diten-mega-menu {
    padding: .78rem;
    max-height: calc(100vh - 210px);
  }
  .diten-mega-header {
    padding-bottom: .65rem;
    margin-bottom: .65rem;
  }
  .diten-mega-header strong {
    font-size: 1.22rem;
  }
}


/* Mega menu no-cut compact department cards */
#menu .diten-mega-menu .diten-mega-child-list {
  display: none !important;
}

#menu .diten-mega-menu .diten-mega-card {
  min-height: 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: .55rem;
}

#menu .diten-mega-menu .diten-mega-view-all {
  margin-left: 2.65rem;
}

@media (min-width: 992px) {
  #menu .dropdown-menu.diten-mega-menu {
    max-height: none;
    overflow: visible;
  }
  .diten-mega-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}


/* Search autocomplete with product suggestions */
.search-autocomplete {
  z-index: 120;
}

.search-autocomplete-clear {
  display: none;
  align-items: center;
  justify-content: center;
  width: 42px;
  border: 0;
  color: #64748b;
  background: transparent;
  z-index: 3;
}

.search-autocomplete-clear.is-visible {
  display: inline-flex;
}

.search-suggestions {
  position: absolute;
  top: calc(100% + .55rem);
  left: 0;
  right: 0;
  display: none;
  overflow: hidden;
  border: 1px solid rgba(0, 214, 159, .18);
  border-radius: 24px;
  background: #ffffff;
  box-shadow: 0 28px 90px rgba(0,0,0,.22);
  z-index: 500;
}

.search-suggestions.is-open {
  display: block;
}

.search-suggestions-header {
  display: flex;
  align-items: baseline;
  gap: .45rem;
  padding: .9rem 1rem .65rem;
  border-bottom: 1px solid #e2e8f0;
}

.search-suggestions-header span {
  color: #64748b;
  font-size: .82rem;
  font-weight: 850;
}

.search-suggestions-header strong {
  color: #101214;
  font-weight: 950;
}

.search-suggestions-products {
  max-height: min(58vh, 520px);
  overflow-y: auto;
  padding: .45rem;
}

.search-suggestion-product {
  display: grid;
  grid-template-columns: 68px minmax(0, 1fr) auto;
  align-items: center;
  gap: .8rem;
  padding: .65rem;
  border-radius: 18px;
  text-decoration: none;
  color: #101214;
}

.search-suggestion-product:hover,
.search-suggestion-product:focus {
  background: #e7fff8;
  outline: none;
}

.search-suggestion-thumb {
  width: 68px;
  height: 68px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  background: #fff;
}

.search-suggestion-thumb img {
  max-width: 58px;
  max-height: 58px;
  object-fit: contain;
}

.search-suggestion-info {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: .18rem;
}

.search-suggestion-info strong {
  overflow: hidden;
  color: #111827;
  font-size: .92rem;
  font-weight: 950;
  line-height: 1.25;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.search-suggestion-info small {
  color: #64748b;
  font-weight: 800;
}

.search-suggestion-info em {
  font-style: normal;
  font-size: .78rem;
  font-weight: 950;
}

.search-suggestion-info em.in-stock {
  color: #05765f;
}

.search-suggestion-info em.out-stock {
  color: #b45309;
}

.search-suggestion-price {
  min-width: 112px;
  text-align: right;
}

.search-suggestion-price small {
  display: block;
  color: #94a3b8;
  text-decoration: line-through;
  font-size: .75rem;
}

.search-suggestion-price strong {
  display: block;
  color: #006d57;
  font-weight: 950;
  white-space: nowrap;
}

.search-suggestions-categories {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .45rem;
  padding: .7rem 1rem;
  border-top: 1px solid #e2e8f0;
  background: #f8fafc;
}

.search-suggestions-categories span {
  color: #64748b;
  font-size: .78rem;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .05em;
}

.search-suggestions-categories a {
  padding: .35rem .55rem;
  border-radius: 999px;
  background: #ffffff;
  color: #006d57;
  font-weight: 900;
  font-size: .82rem;
}

.search-suggestions-all {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  padding: .85rem 1rem;
  background: #0b0d10;
  color: #ffffff !important;
  font-weight: 950;
  text-decoration: none;
}

.search-suggestions-state,
.search-suggestions-empty {
  padding: 1rem;
  color: #64748b;
}

.search-suggestions-empty strong,
.search-suggestions-empty span,
.search-suggestions-empty a {
  display: block;
}

.search-suggestions-empty strong {
  color: #101214;
  margin-bottom: .25rem;
}

.search-suggestions-empty a {
  margin-top: .65rem;
  color: #006d57;
  font-weight: 950;
}

@media (max-width: 767.98px) {
  .search-suggestions {
    position: fixed;
    left: .75rem;
    right: .75rem;
    top: 9.5rem;
    max-height: calc(100vh - 10.5rem);
    overflow-y: auto;
  }
  .search-suggestion-product {
    grid-template-columns: 58px minmax(0, 1fr);
  }
  .search-suggestion-thumb {
    width: 58px;
    height: 58px;
  }
  .search-suggestion-price {
    grid-column: 2;
    min-width: 0;
    text-align: left;
  }
}


/* Search autocomplete visibility fix */
.store-search.search-autocomplete {
  overflow: visible !important;
}

.store-header,
.store-header .container,
.store-header .row,
.store-header-search,
#search {
  overflow: visible !important;
}

.store-header-search {
  position: relative;
  z-index: 130;
}



/* Diten premium global polish for remaining native OpenCart pages */
body {
  background: #f5f7fb;
  color: var(--store-ink);
}

#common-home {
  background: #fff;
}

.store-page,
#checkout-cart,
#checkout-checkout,
#account-login,
#account-register,
#account-account,
#account-wishlist,
#account-order,
#account-address,
#information-contact,
#information-information,
#error-not-found,
#product-compare,
#product-special,
#product-manufacturer {
  padding-top: 1.2rem;
  padding-bottom: 2.5rem;
}

.breadcrumb,
.store-breadcrumb {
  background: rgba(255,255,255,.82);
  border: 1px solid var(--store-border);
  border-radius: 999px;
  padding: .62rem .9rem;
  margin: 0 0 1rem;
  box-shadow: 0 10px 24px rgba(15,23,42,.05);
}

.breadcrumb .breadcrumb-item,
.breadcrumb a {
  color: #64748b;
  font-weight: 750;
  text-decoration: none;
}

.breadcrumb a:hover {
  color: var(--store-blue);
}

.store-page-hero {
  position: relative;
  overflow: hidden;
  background: radial-gradient(circle at top right, rgba(0,216,159,.28), transparent 34%), linear-gradient(135deg, #0b0d10, #0f172a 72%, #063b32);
  border-radius: 28px;
  color: #fff;
  padding: clamp(1.35rem, 3vw, 2.3rem);
  margin-bottom: 1.2rem;
  box-shadow: 0 22px 54px rgba(15,23,42,.18);
}

.store-page-kicker {
  display: block;
  color: #98f5dc;
  font-size: .73rem;
  font-weight: 950;
  letter-spacing: .1em;
  text-transform: uppercase;
  margin-bottom: .35rem;
}

.store-page-hero h1,
.store-page-hero h2 {
  color: #fff !important;
  font-weight: 950;
  letter-spacing: -.035em;
  margin: 0 0 .45rem;
}

.store-page-hero p {
  color: rgba(255,255,255,.78);
  max-width: 760px;
  margin: 0;
}

.store-content-card,
#content > .card,
#content > form:not(#form-product):not(#form-contact),
.account-content-card,
.information-content-card {
  background: #fff;
  border: 1px solid var(--store-border);
  border-radius: 24px;
  box-shadow: 0 16px 36px rgba(15,23,42,.07);
  padding: clamp(1rem, 2vw, 1.45rem);
}

.information-content-card h1,
.information-content-card h2,
.information-content-card h3,
.store-content-card h2,
.store-content-card h3 {
  color: var(--store-ink);
  font-weight: 950;
  letter-spacing: -.025em;
}

.information-content-card p,
.information-content-card li,
.store-content-card p,
.store-content-card li {
  color: #475569;
  line-height: 1.72;
}

.btn-primary,
.btn-info,
.checkout-page .btn-primary,
.contact-submit-btn,
#button-login,
#button-register,
#button-shipping-methods,
#button-payment-methods,
#button-confirm {
  border: 0 !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #00a884, #00d69f) !important;
  color: #07110e !important;
  font-weight: 950 !important;
  box-shadow: 0 12px 24px rgba(0,168,132,.18) !important;
}

.btn-primary:hover,
.btn-info:hover,
.contact-submit-btn:hover,
#button-login:hover,
#button-register:hover,
#button-shipping-methods:hover,
#button-payment-methods:hover,
#button-confirm:hover {
  filter: brightness(.97);
  transform: translateY(-1px);
}

.btn-danger,
.btn-outline-danger {
  border-radius: 999px !important;
}

.btn-light,
.btn-secondary,
.btn-outline-secondary,
.btn-outline-primary {
  border-radius: 999px !important;
  font-weight: 850 !important;
}

.form-control,
.form-select {
  border-color: var(--store-border);
  border-radius: 14px;
  min-height: 44px;
  box-shadow: none !important;
}

.form-control:focus,
.form-select:focus {
  border-color: rgba(0,168,132,.52);
  box-shadow: 0 0 0 .18rem rgba(0,168,132,.14) !important;
}

.form-label,
.col-form-label,
legend {
  color: #334155;
  font-weight: 850;
}

.required .form-label:before,
.required .col-form-label:before {
  color: #e11d48;
}

.alert {
  border: 0;
  border-radius: 18px;
  box-shadow: 0 14px 28px rgba(15,23,42,.08);
}

.alert-danger {
  background: #fff1f2;
  color: #9f1239;
}

.alert-success {
  background: #ecfdf5;
  color: #065f46;
}

.alert-info {
  background: #eff6ff;
  color: #1d4ed8;
}

/* Contact page */
.contact-grid {
  display: grid;
  grid-template-columns: minmax(280px, .85fr) minmax(0, 1.15fr);
  gap: 1.1rem;
  align-items: start;
}

.contact-info-card h2,
.contact-form-card h2 {
  margin: .1rem 0 .75rem;
}

.contact-info-list {
  display: grid;
  gap: .75rem;
}

.contact-info-item {
  display: flex;
  gap: .75rem;
  align-items: flex-start;
  padding: .85rem;
  border: 1px solid var(--store-border);
  border-radius: 18px;
  background: #f8fafc;
  color: #334155;
  text-decoration: none;
}

.contact-info-item i {
  width: 34px;
  height: 34px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--store-blue-soft);
  color: var(--store-blue-dark);
  flex: 0 0 auto;
}

.contact-info-item strong,
.contact-info-item span {
  display: block;
}

.contact-info-item span {
  color: #64748b;
  line-height: 1.55;
}

.contact-store-image {
  max-width: 160px;
  border: 1px solid var(--store-border);
  border-radius: 18px;
  padding: .75rem;
  background: #fff;
}

.contact-submit-btn {
  width: 100%;
  min-height: 48px;
}

/* Cart/checkout refinements */
.cart-modules-card {
  margin-bottom: 1.4rem;
}

.cart-modules-header h2 {
  margin: .2rem 0 .25rem;
  font-weight: 950;
  color: var(--store-ink);
}

.cart-modules-header p {
  color: #64748b;
  margin-bottom: 1rem;
}

.premium-accordion .accordion-item,
.cart-modules-card .accordion-item {
  border: 1px solid var(--store-border) !important;
  border-radius: 18px !important;
  overflow: hidden;
  margin-bottom: .75rem;
  box-shadow: 0 10px 22px rgba(15,23,42,.04);
}

.premium-accordion .accordion-button,
.cart-modules-card .accordion-button {
  background: #f8fafc;
  color: var(--store-ink);
  font-weight: 900;
  box-shadow: none !important;
}

.premium-accordion .accordion-button:not(.collapsed),
.cart-modules-card .accordion-button:not(.collapsed) {
  background: var(--store-blue-soft);
  color: var(--store-blue-dark);
}

.cart-stock-note {
  display: block;
  margin-top: .55rem;
  color: #9f1239;
  font-size: .82rem;
  font-weight: 750;
  line-height: 1.4;
}

.cart-item-qty .btn-primary {
  background: #e7fff8 !important;
  color: #05765f !important;
  box-shadow: none !important;
}

.cart-item-qty .btn-outline-danger {
  background: #fff1f2 !important;
  color: #be123c !important;
  border-color: #ffe4e6 !important;
}

.checkout-page #form-register > p:first-child {
  padding: .85rem 1rem;
  border-radius: 16px;
  background: #f8fafc;
  color: #64748b;
  border: 1px solid var(--store-border);
}

.checkout-page .form-check-inline {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  border: 1px solid var(--store-border);
  border-radius: 18px;
  padding: .75rem .95rem;
  background: #fff;
  margin-right: .55rem;
  margin-bottom: .55rem;
}

.checkout-page .form-check-input:checked {
  background-color: var(--store-blue);
  border-color: var(--store-blue);
}

.checkout-card textarea#input-comment {
  min-height: 96px;
}

.checkout-card #button-shipping-methods,
.checkout-card #button-payment-methods {
  padding-left: 1rem;
  padding-right: 1rem;
  white-space: nowrap;
}

.checkout-confirm-product {
  align-items: flex-start;
}

.checkout-confirm-action .btn,
#button-confirm {
  width: 100%;
  min-height: 50px;
  font-size: .98rem;
}

.checkout-confirm-action .text-end {
  text-align: stretch !important;
}

.modal .form-check {
  border: 1px solid var(--store-border);
  border-radius: 16px;
  padding: .8rem 1rem .8rem 2.7rem;
  margin-bottom: .65rem;
  background: #fff;
}

/* Generic native OpenCart lists/cards */
.list-group-item {
  border-color: var(--store-border);
}

.list-group-item.active,
.nav-pills .nav-link.active {
  background: var(--store-blue) !important;
  border-color: var(--store-blue) !important;
  color: #07110e !important;
  font-weight: 900;
}

.table {
  --bs-table-border-color: var(--store-border);
}

.table thead th {
  background: #f8fafc;
  color: #334155;
  font-weight: 900;
}

@media (max-width: 991.98px) {
  .contact-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767.98px) {
  .breadcrumb,
  .store-breadcrumb {
    border-radius: 18px;
  }
  .checkout-page .form-check-inline {
    display: flex;
    width: 100%;
  }
}



/* Footer flow fix: OpenCart base used absolute footer/container and caused pagination/facets to be hidden */
html {
  min-height: 100%;
  height: auto !important;
}

body {
  min-height: 100vh;
  height: auto !important;
}

#container {
  position: relative !important;
  min-height: 100vh !important;
  height: auto !important;
  margin-bottom: 0 !important;
  display: flex !important;
  flex-direction: column !important;
}

#container > main {
  flex: 1 0 auto !important;
  display: block !important;
  padding-bottom: 2.25rem !important;
}

footer,
footer.store-footer,
.store-footer.diten-footer {
  position: relative !important;
  bottom: auto !important;
  left: auto !important;
  right: auto !important;
  width: 100% !important;
  flex: 0 0 auto !important;
  clear: both !important;
  z-index: 1 !important;
}

/* Keep listing controls clear from the footer */
.product-listing-layout,
.search-results-layout,
.category-layout,
#product-category #content,
#product-search #content,
#product-manufacturer #content,
#product-special #content {
  margin-bottom: 2rem !important;
}

.pagination,
.pagination-wrap,
.product-pagination,
.results-pagination,
#product-category .pagination,
#product-search .pagination,
#product-manufacturer .pagination,
#product-special .pagination {
  position: relative !important;
  z-index: 2 !important;
  margin-bottom: 2rem !important;
}

.category-facets {
  max-height: none !important;
}

/* Diten product detail parity layer */
.product-detail-shell { align-items:flex-start; }
.diten-product-gallery, .product-summary-card, .diten-doc-card, .diten-product-panel { background:#fff; border:1px solid rgba(15,23,42,.08); border-radius:22px; box-shadow:0 18px 45px rgba(15,23,42,.08); }
.diten-product-gallery { position:relative; padding:28px; min-height:460px; display:flex; flex-direction:column; align-items:center; justify-content:center; }
.diten-brand-badge { position:absolute; left:22px; top:22px; display:inline-flex; min-width:68px; height:68px; align-items:center; justify-content:center; border-radius:999px; background:#fff; color:#0f766e; border:1px solid #dbeafe; font-weight:800; box-shadow:0 12px 30px rgba(15,23,42,.12); text-decoration:none; }
.diten-main-image { width:100%; min-height:320px; display:flex; align-items:center; justify-content:center; text-align:center; }
.diten-main-image img { max-height:360px; object-fit:contain; }
.diten-image-placeholder { color:#64748b; background:#f8fafc; border-radius:18px; }
.diten-gallery-thumbs { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-top:18px; }
.diten-gallery-thumbs .img-thumbnail { width:72px; height:72px; object-fit:contain; border-radius:14px; }
.diten-doc-card { margin-top:18px; padding:20px; }
.diten-doc-card strong { display:block; color:#0f172a; font-size:1.05rem; margin-bottom:4px; }
.diten-doc-card span { display:block; color:#64748b; margin-bottom:12px; }
.diten-doc-card ul { display:flex; gap:10px; flex-wrap:wrap; list-style:none; padding:0; margin:0; }
.diten-doc-card li { background:#f1f5f9; color:#475569; border-radius:999px; padding:7px 12px; font-size:.9rem; }
.product-summary-card { padding:26px; position:sticky; top:16px; }
.product-summary-card h1 { font-size:clamp(1.55rem,2vw,2.3rem); font-weight:800; color:#0f172a; margin-bottom:16px; }
.diten-product-meta-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-bottom:16px; }
.diten-product-meta-grid li { margin:0; padding:12px 14px; background:#f8fafc; border:1px solid #e2e8f0; border-radius:14px; }
.diten-product-meta-grid li span { display:block; font-size:.78rem; color:#64748b; text-transform:uppercase; letter-spacing:.04em; }
.diten-product-meta-grid li strong, .diten-product-meta-grid li a { color:#0f766e; font-weight:800; text-decoration:none; }
.diten-product-meta-grid .diten-stock-chip { grid-column:1/-1; }
.diten-stock-chip.is-out-stock strong { color:#dc2626; }
.diten-stock-chip.is-in-stock strong { color:#16a34a; }
.diten-short-description { color:#475569; line-height:1.65; padding:14px 0 8px; }
.diten-price-panel { padding:18px; background:#f0fdfa; border:1px solid #99f6e4; border-radius:18px; margin:16px 0; }
.diten-price-panel h2 { margin:0; }
.diten-price-panel .price-new { color:#0f766e; font-size:2rem; font-weight:900; }
.product-summary-card .btn-group .btn { border-radius:999px !important; margin-right:8px; }
#form-product .input-group { background:#f8fafc; border:1px solid #e2e8f0; border-radius:18px; padding:10px; gap:10px; }
#form-product .input-group-text, #form-product .form-control { border-radius:12px !important; border:0; }
#button-cart { border-radius:14px !important; background:#0f766e; border-color:#0f766e; font-weight:800; }
.diten-commerce-notes { display:grid; gap:10px; margin-top:16px; }
.diten-commerce-notes > div { display:grid; grid-template-columns:34px 1fr; column-gap:10px; padding:13px; border:1px solid #e2e8f0; border-radius:16px; background:#fff; }
.diten-commerce-notes i { color:#0f766e; font-size:1.2rem; margin-top:3px; }
.diten-commerce-notes strong { color:#0f172a; }
.diten-commerce-notes span { grid-column:2; color:#475569; }
.diten-commerce-notes small { color:#64748b; }
.diten-product-content-accordions { display:grid; gap:18px; margin-bottom:28px; }
.diten-product-panel { overflow:hidden; }
.diten-product-panel h3 { margin:0; padding:16px 20px; background:#0f766e; color:#fff; font-weight:800; font-size:1.1rem; display:flex; align-items:center; gap:10px; }
.diten-panel-body { padding:22px; color:#334155; line-height:1.7; }
.diten-tags a { display:inline-block; margin:4px; color:#0f766e; text-decoration:none; }
.diten-spec-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.diten-spec-table { border:1px solid #e2e8f0; border-radius:16px; overflow:hidden; }
.diten-spec-table h4 { margin:0; padding:12px 14px; background:#f1f5f9; font-weight:800; color:#0f172a; }
.diten-spec-table > div { display:grid; grid-template-columns:42% 58%; gap:12px; padding:11px 14px; border-top:1px solid #e2e8f0; }
.diten-spec-table > div:nth-child(odd) { background:#f8fafc; }
.diten-spec-table span { color:#64748b; }
.diten-spec-table strong { color:#0f172a; font-weight:700; }
.diten-rich-specs table { width:100%; border-collapse:separate; border-spacing:0; margin-bottom:18px; border:1px solid #e2e8f0; border-radius:14px; overflow:hidden; }
.diten-rich-specs td, .diten-rich-specs th { padding:10px 12px; border-bottom:1px solid #e2e8f0; }
.diten-rich-specs tr:nth-child(even) { background:#f8fafc; }
.diten-rich-text strong { color:#0f172a; }
@media (max-width: 991px) { .product-summary-card { position:static; } .diten-product-meta-grid, .diten-spec-grid { grid-template-columns:1fr; } .diten-product-gallery { min-height:320px; } }


/* Diten product premium refinement / data-quality pass */
#product-info .product-detail-shell { max-width: 1180px; margin-left:auto; margin-right:auto; align-items: stretch; }
#product-info .product-gallery-column, #product-info .product-summary-column { display:flex; flex-direction:column; }
#product-info .diten-product-gallery { flex:1; justify-content:center !important; min-height:560px; padding:36px !important; background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%); border:1px solid rgba(15,23,42,.07) !important; box-shadow:0 24px 70px rgba(15,23,42,.08) !important; }
#product-info .diten-main-image { min-height:430px; padding:34px; background:radial-gradient(circle at center, #ffffff 0%, #f8fafc 72%); border-radius:22px; }
#product-info .diten-main-image img { max-height:390px; width:auto; max-width:92%; object-fit:contain; filter:drop-shadow(0 22px 28px rgba(15,23,42,.10)); }
#product-info .diten-brand-badge { top:22px !important; left:22px !important; width:112px !important; height:54px !important; min-width:112px !important; border-radius:18px !important; padding:8px 12px !important; background:#fff !important; z-index:3; }
#product-info .diten-brand-badge img { max-width:88px; max-height:34px; object-fit:contain; display:block; }
#product-info .diten-brand-badge span { color:#0f766e; font-size:.9rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
#product-info .diten-doc-card { padding:18px 20px !important; border-radius:20px !important; display:grid; grid-template-columns:1fr auto; gap:12px; align-items:center; }
#product-info .diten-doc-card strong, #product-info .diten-doc-card span { margin:0; }
#product-info .diten-doc-card ul { grid-column:1/-1; margin-top:4px !important; }
#product-info .product-summary-card { padding:30px !important; border-radius:24px !important; background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%); box-shadow:0 24px 70px rgba(15,23,42,.10) !important; }
#product-info .product-summary-card h1 { line-height:1.12; letter-spacing:-.03em; }
#product-info .diten-product-meta-grid { gap:12px !important; }
#product-info .diten-product-meta-grid li { padding:13px 14px !important; background:#fff !important; box-shadow:inset 0 0 0 1px rgba(15,23,42,.04); }
#product-info .diten-short-description { background:#f8fafc; border:1px solid #e2e8f0; border-radius:18px; padding:16px 18px !important; margin:8px 0 14px; }
#product-info .rating p { margin:10px 0 0; color:#f59e0b; }
#product-info .diten-price-panel { background:linear-gradient(135deg,#ecfdf5,#f0fdfa) !important; border:1px solid #99f6e4 !important; box-shadow:inset 0 1px 0 rgba(255,255,255,.8); }
#product-info #form-product .input-group { display:grid !important; grid-template-columns:auto 72px minmax(150px,1fr); align-items:center; width:100%; }
#product-info #button-cart { min-height:46px; white-space:nowrap; }
#product-info .diten-commerce-notes { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px !important; margin-top:18px !important; }
#product-info .diten-commerce-notes > div { display:grid !important; grid-template-columns:38px 1fr !important; grid-template-rows:auto auto; column-gap:12px !important; row-gap:2px; padding:14px !important; border-radius:18px !important; background:#fff !important; border:1px solid #e2e8f0 !important; box-shadow:0 10px 24px rgba(15,23,42,.045); }
#product-info .diten-commerce-notes > div:nth-child(3) { grid-column:1/-1; }
#product-info .diten-commerce-notes i { grid-row:1/3; width:38px; height:38px; display:flex; align-items:center; justify-content:center; border-radius:12px; background:#ecfdf5; color:#0f766e !important; }
#product-info .diten-commerce-notes strong { display:block; font-size:.92rem; }
#product-info .diten-commerce-notes span { grid-column:2 !important; display:block; font-size:.86rem; line-height:1.35; }
#product-info .diten-product-content-accordions { max-width:1180px; margin-left:auto; margin-right:auto; }
#product-info .diten-product-panel { border-radius:24px !important; box-shadow:0 18px 50px rgba(15,23,42,.07) !important; }
#product-info .diten-panel-body { padding:26px 30px !important; }
#product-info #tab-description .diten-panel-body,
#product-info .diten-product-description-card__body {
  font-family: var(--store-font-body, "Inter", "Open Sans", Arial, sans-serif) !important;
  font-size: .98rem;
  line-height: 1.76;
  color: #334155;
  letter-spacing: -.005em;
}
#product-info #tab-description .diten-panel-body :where(p, div, span, font, li, strong, b, em, i, u),
#product-info .diten-product-description-card__body :where(p, div, span, font, li, strong, b, em, i, u) {
  font-family: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
  color: inherit;
  background: transparent !important;
}
#product-info #tab-description .diten-panel-body :where(p, ul, ol),
#product-info .diten-product-description-card__body :where(p, ul, ol) {
  margin-top: 0;
  margin-bottom: 1rem;
}
#product-info #tab-description .diten-panel-body :where(strong, b),
#product-info .diten-product-description-card__body :where(strong, b) {
  color: #0f172a;
  font-weight: 800;
}
#product-info #tab-description .diten-panel-body :where(font),
#product-info .diten-product-description-card__body :where(font) {
  font: inherit !important;
}
#product-info #tab-description .diten-panel-body :where(img, table, iframe),
#product-info .diten-product-description-card__body :where(img, table, iframe) {
  max-width: 100%;
}
#product-info .diten-rich-specs table { box-shadow:0 12px 28px rgba(15,23,42,.04); }
@media (max-width: 991px) {
  #product-info .diten-product-gallery { min-height:420px; }
  #product-info .diten-main-image { min-height:300px; }
  #product-info .diten-commerce-notes { grid-template-columns:1fr !important; }
  #product-info .diten-commerce-notes > div:nth-child(3) { grid-column:auto; }
  #product-info #form-product .input-group { grid-template-columns:1fr; }
}

/* Diten product premium refinement - tighter gallery balance */
#product-info .diten-product-gallery { min-height:480px !important; }
#product-info .diten-main-image { min-height:340px !important; padding:24px !important; }
#product-info .diten-main-image img { max-height:320px !important; }
#product-info .diten-price-panel .price-new { font-size:clamp(1.55rem, 2.4vw, 2rem) !important; }

/* Diten product gallery final balance */
#product-info .diten-product-gallery { flex:0 0 auto !important; min-height:420px !important; }
#product-info .diten-product-gallery > a.diten-brand-badge { min-height:0 !important; height:54px !important; width:112px !important; }
#product-info .diten-product-gallery > a.diten-main-image { min-height:330px !important; }
#product-info .diten-product-gallery > a.diten-main-image img { max-height:310px !important; }
#product-info .product-gallery-card > a:first-child.diten-brand-badge { min-height:0 !important; background:#fff !important; }

/* marketplace-style brand tile: logo lives in the gallery rail, not floating over the main image */
#product-info .diten-product-gallery { min-height:420px !important; padding:24px !important; justify-content:flex-start !important; }
#product-info .diten-gallery-stage { width:100%; display:grid; grid-template-columns:126px minmax(0,1fr); gap:18px; align-items:start; }
#product-info .diten-gallery-rail { display:flex; flex-direction:column; align-items:center; gap:14px; min-width:0; }
#product-info .diten-brand-badge { position:static !important; inset:auto !important; width:118px !important; min-width:118px !important; height:70px !important; min-height:70px !important; padding:12px 14px !important; border-radius:12px !important; border:1px solid #e5e7eb !important; background:#fff !important; box-shadow:none !important; color:#111827 !important; }
#product-info .diten-brand-badge img { max-width:92px !important; max-height:42px !important; object-fit:contain; display:block; }
#product-info .diten-brand-badge span { color:#111827 !important; font-size:.82rem; line-height:1.1; text-align:center; }
#product-info .diten-gallery-thumbs { flex-direction:column; flex-wrap:nowrap; gap:10px; justify-content:flex-start; margin-top:0 !important; width:100%; align-items:center; }
#product-info .diten-gallery-thumbs a { display:flex; align-items:center; justify-content:center; width:76px; height:76px; border:1px solid #e5e7eb; border-radius:12px; background:#fff; }
#product-info .diten-gallery-thumbs .img-thumbnail { width:68px !important; height:68px !important; border:0 !important; padding:0 !important; border-radius:8px !important; }
#product-info .diten-main-image { min-height:370px !important; padding:18px !important; background:#fff !important; border-radius:18px !important; }
#product-info .diten-main-image img { max-height:340px !important; max-width:100% !important; }
@media (max-width: 575.98px) {
  #product-info .diten-gallery-stage { grid-template-columns:1fr; }
  #product-info .diten-gallery-rail { flex-direction:row; justify-content:center; order:2; overflow-x:auto; padding-bottom:4px; }
  #product-info .diten-gallery-thumbs { flex-direction:row; width:auto; }
  #product-info .diten-main-image { order:1; min-height:300px !important; }
}

/* Diten product pro layout pass: larger image + clearer purchase box */
@media (min-width: 992px) {
  #product-info .product-detail-shell { max-width:1280px !important; }
  #product-info .product-gallery-column { flex:0 0 58% !important; max-width:58% !important; }
  #product-info .product-summary-column { flex:0 0 42% !important; max-width:42% !important; }
}
#product-info .diten-product-gallery { min-height:520px !important; padding:28px !important; }
#product-info .diten-gallery-stage { grid-template-columns:118px minmax(0,1fr) !important; gap:18px !important; align-items:center !important; height:100%; }
#product-info .diten-gallery-rail { align-self:start; }
#product-info .diten-main-image { min-height:460px !important; padding:12px !important; }
#product-info .diten-main-image img,
#product-info .product-gallery-card .diten-main-image img.img-fluid {
  width:min(100%, 500px) !important;
  height:auto !important;
  max-width:100% !important;
  max-height:440px !important;
  object-fit:contain !important;
}
#product-info .diten-purchase-box { margin-top:14px; padding:12px; border:1px solid #dbeafe; border-radius:18px; background:#f8fafc; }
#product-info .diten-purchase-row { display:grid; grid-template-columns:118px minmax(0,1fr); gap:12px; align-items:stretch; }
#product-info .diten-qty-field { margin:0; display:flex; flex-direction:column; justify-content:center; gap:4px; padding:8px 10px; border:1px solid #e2e8f0; border-radius:14px; background:#fff; }
#product-info .diten-qty-field span { color:#64748b; font-size:.72rem; text-transform:uppercase; letter-spacing:.04em; font-weight:800; }
#product-info .diten-qty-field input { width:100% !important; min-width:64px !important; height:30px !important; border:0 !important; box-shadow:none !important; padding:0 !important; font-size:1.05rem !important; font-weight:800; color:#0f172a; text-align:left; background:transparent !important; }
#product-info #button-cart { width:100% !important; min-height:58px !important; border-radius:14px !important; font-weight:800; letter-spacing:.01em; white-space:normal !important; }
#product-info .diten-commerce-strip { max-width:1280px; margin:0 auto 22px; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; }
#product-info .diten-commerce-strip > div { display:grid; grid-template-columns:36px 1fr; column-gap:10px; row-gap:2px; padding:14px; border-radius:18px; background:#fff; border:1px solid #e2e8f0; box-shadow:0 12px 28px rgba(15,23,42,.055); }
#product-info .diten-commerce-strip i { grid-row:1/3; width:36px; height:36px; display:flex; align-items:center; justify-content:center; border-radius:12px; background:#ecfdf5; color:#0f766e; }
#product-info .diten-commerce-strip strong { display:block; font-size:.85rem; color:#0f172a; }
#product-info .diten-commerce-strip span { display:block; font-size:.78rem; line-height:1.3; color:#64748b; }
@media (max-width: 991.98px) {
  #product-info .diten-product-gallery { min-height:420px !important; }
  #product-info .diten-main-image { min-height:340px !important; }
  #product-info .diten-main-image img,
  #product-info .product-gallery-card .diten-main-image img.img-fluid { width:min(100%, 380px) !important; max-height:360px !important; }
  #product-info .diten-commerce-strip { grid-template-columns:1fr; }
}
@media (max-width: 575.98px) {
  #product-info .product-summary-card { padding:18px !important; border-radius:20px !important; }
  #product-info .product-summary-card h1 { font-size:clamp(1.28rem, 6.4vw, 1.9rem) !important; line-height:1.12 !important; letter-spacing:-.025em !important; margin-bottom:12px !important; }
  #product-info .diten-product-meta-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:8px !important; margin-bottom:8px !important; }
  #product-info .diten-product-meta-grid li { padding:9px 10px !important; border-radius:13px !important; }
  #product-info .diten-product-meta-grid li span { font-size:.58rem !important; letter-spacing:.05em !important; }
  #product-info .diten-product-meta-grid li strong,
  #product-info .diten-product-meta-grid li a { font-size:.78rem !important; line-height:1.2 !important; overflow-wrap:anywhere; }
  #product-info .diten-price-panel { margin:8px 0 10px !important; padding:14px !important; border-radius:16px !important; }
  #product-info .diten-price-panel .price-new { font-size:clamp(1.35rem, 7vw, 1.75rem) !important; }
  #product-info .product-summary-card > form:not(#form-product) { display:none !important; }
  #product-info .product-summary-card > br { display:none !important; }
  #product-info .diten-purchase-box { margin-top:8px !important; margin-bottom:12px !important; padding:10px !important; border-radius:16px !important; }
  #product-info .diten-purchase-row { grid-template-columns:1fr; gap:10px !important; }
  #product-info .diten-qty-field { min-height:58px; }
  #product-info #button-cart { min-height:56px !important; font-size:1rem !important; }
  #product-info .diten-short-description { margin-top:10px !important; }
}

/* Diten product compact summary: keep purchase action visible above the fold */
#product-info .product-summary-card { padding:24px !important; }
#product-info .product-summary-card h1 { font-size:clamp(1.55rem, 2.2vw, 2.15rem) !important; line-height:1.08 !important; margin-bottom:16px !important; }
#product-info .diten-product-meta-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:10px !important; margin-bottom:12px !important; }
#product-info .diten-product-meta-grid li { min-height:0 !important; padding:10px 12px !important; }
#product-info .diten-product-meta-grid li span { font-size:.66rem !important; }
#product-info .diten-product-meta-grid li strong,
#product-info .diten-product-meta-grid li a { font-size:.82rem !important; }
#product-info .diten-short-description { font-size:.9rem; line-height:1.45; max-height:6.6em; overflow:hidden; display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; margin-bottom:10px !important; }
#product-info .rating p { margin:6px 0 0 !important; }
#product-info .diten-price-panel { margin:10px 0 12px !important; }
#product-info .product-summary-card > form:not(#form-product) { display:flex; justify-content:flex-end; margin:-4px 0 8px !important; }
#product-info .product-summary-card > br { display:none; }
#product-info .product-summary-card > form:not(#form-product) .btn-group .btn { width:38px; height:38px; padding:0; border-radius:12px; }

/* Quantity stepper polish */
#product-info .diten-qty-control { display:grid; grid-template-columns:28px minmax(34px,1fr) 28px; align-items:center; gap:4px; }
#product-info .diten-qty-step { width:28px; height:28px; border:1px solid #dbeafe; border-radius:9px; background:#f8fafc; color:#0f766e; font-weight:900; line-height:1; display:flex; align-items:center; justify-content:center; }
#product-info .diten-qty-step:hover { background:#ecfdf5; border-color:#99f6e4; }
#product-info .diten-qty-control #input-quantity { text-align:center !important; min-width:34px !important; height:28px !important; font-size:1rem !important; }

/* Diten product gallery thumb scroll: keep long galleries aligned with the main image */
@media (min-width: 576px) {
  #product-info .diten-gallery-stage {
    align-items: start !important;
  }
  #product-info .diten-gallery-rail {
    height: 460px !important;
    max-height: 460px !important;
    overflow: hidden !important;
  }
  #product-info .diten-gallery-thumbs {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    max-height: calc(460px - 84px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding: 2px 7px 2px 2px !important;
    margin-right: -5px !important;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: #94a3b8 #f1f5f9;
  }
  #product-info .diten-gallery-thumbs::-webkit-scrollbar {
    width: 7px;
  }
  #product-info .diten-gallery-thumbs::-webkit-scrollbar-track {
    background: #f1f5f9;
    border-radius: 999px;
  }
  #product-info .diten-gallery-thumbs::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 999px;
  }
  #product-info .diten-gallery-thumbs::-webkit-scrollbar-thumb:hover {
    background: #94a3b8;
  }
}
@media (max-width: 991.98px) and (min-width: 576px) {
  #product-info .diten-gallery-rail {
    height: 340px !important;
    max-height: 340px !important;
  }
  #product-info .diten-gallery-thumbs {
    max-height: calc(340px - 84px) !important;
  }
}
@media (max-width: 575.98px) {
  #product-info .diten-product-gallery {
    min-height: auto !important;
    padding: 14px !important;
    overflow: hidden !important;
  }
  #product-info .diten-gallery-stage {
    display: flex !important;
    grid-template-columns: none !important;
    flex-direction: column !important;
    gap: 12px !important;
    width: 100% !important;
    min-width: 0 !important;
  }
  #product-info .diten-main-image {
    order: 1 !important;
    width: 100% !important;
    min-height: 320px !important;
    padding: 10px !important;
  }
  #product-info .diten-main-image img,
  #product-info .product-gallery-card .diten-main-image img.img-fluid {
    width: 100% !important;
    max-width: 340px !important;
    max-height: 300px !important;
    height: auto !important;
  }
  #product-info .diten-gallery-rail {
    order: 2 !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    max-height: none !important;
    display: grid !important;
    grid-template-columns: 82px minmax(0, 1fr) !important;
    gap: 10px !important;
    align-items: center !important;
    overflow: hidden !important;
    padding: 0 !important;
  }
  #product-info .diten-brand-badge {
    width: 82px !important;
    min-width: 82px !important;
    height: 58px !important;
    min-height: 58px !important;
    padding: 8px !important;
    border-radius: 12px !important;
  }
  #product-info .diten-brand-badge img {
    max-width: 66px !important;
    max-height: 34px !important;
  }
  #product-info .diten-gallery-thumbs {
    width: 100% !important;
    min-width: 0 !important;
    max-height: none !important;
    height: 70px !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 8px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 2px 0 7px 0 !important;
    margin: 0 !important;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
  #product-info .diten-gallery-thumbs::-webkit-scrollbar {
    display: none !important;
  }
  #product-info .diten-gallery-thumbs a {
    flex: 0 0 62px !important;
    width: 62px !important;
    height: 62px !important;
    border-radius: 11px !important;
  }
  #product-info .diten-gallery-thumbs .img-thumbnail {
    width: 56px !important;
    height: 56px !important;
  }
  .breadcrumb {
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
    flex-wrap: nowrap !important;
    gap: 0 !important;
  }
  .breadcrumb > li.breadcrumb-item {
    min-width: 0 !important;
    padding-right: .45rem !important;
    white-space: nowrap !important;
  }
  .breadcrumb > li.breadcrumb-item:first-child {
    flex: 0 0 auto !important;
  }
  .breadcrumb > li.breadcrumb-item:last-child {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    max-width: calc(100vw - 88px) !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
  .breadcrumb > li.breadcrumb-item:last-child a {
    display: block !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }
}


/* Diten product mobile CTA priority: keep Add to Cart visible before secondary content */
@media (max-width: 575.98px) {
  #product-info,
  #product-info #content,
  #product-info .container,
  #product-info .product-detail-shell,
  #product-info .product-gallery-column,
  #product-info .product-summary-column,
  #product-info .product-summary-card,
  #product-info .diten-commerce-strip,
  #product-info .diten-product-panel,
  #product-info .diten-panel-body {
    max-width:100% !important;
    min-width:0 !important;
    overflow-x:hidden !important;
    box-sizing:border-box;
  }
  #product-info .product-summary-card { padding:18px !important; border-radius:20px !important; }
  #product-info .product-summary-card h1 {
    font-size:clamp(1.28rem, 6.4vw, 1.9rem) !important;
    line-height:1.12 !important;
    letter-spacing:-.025em !important;
    margin-bottom:12px !important;
    max-width:100% !important;
    overflow-wrap:anywhere;
    word-break:normal;
  }
  #product-info .diten-product-meta-grid {
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
    margin-bottom:8px !important;
    max-width:100% !important;
  }
  #product-info .diten-product-meta-grid li { padding:9px 10px !important; border-radius:13px !important; }
  #product-info .diten-product-meta-grid li span { font-size:.58rem !important; letter-spacing:.05em !important; }
  #product-info .diten-product-meta-grid li strong,
  #product-info .diten-product-meta-grid li a { font-size:.78rem !important; line-height:1.2 !important; overflow-wrap:anywhere; }
  #product-info .diten-price-panel { margin:8px 0 10px !important; padding:14px !important; border-radius:16px !important; }
  #product-info .diten-price-panel .price-new { font-size:clamp(1.35rem, 7vw, 1.75rem) !important; }
  #product-info .product-summary-card > form:not(#form-product) { display:none !important; }
  #product-info .product-summary-card > br { display:none !important; }
  #product-info .diten-purchase-box { margin-top:8px !important; margin-bottom:12px !important; padding:10px !important; border-radius:16px !important; max-width:100% !important; overflow:visible !important; box-sizing:border-box; }
  #product-info .diten-purchase-row { grid-template-columns:1fr !important; gap:10px !important; max-width:100% !important; min-width:0 !important; }
  #product-info .diten-qty-field { min-height:58px; max-width:100% !important; min-width:0 !important; overflow:visible !important; }
  #product-info .diten-qty-control { display:flex !important; align-items:center !important; gap:0 !important; max-width:100% !important; min-width:0 !important; width:100% !important; }
  #product-info .diten-qty-control .diten-qty-step { display:none !important; }
  #product-info #input-quantity { flex:1 1 auto !important; min-width:0 !important; width:100% !important; text-align:center !important; }
  #product-info #button-cart { min-height:56px !important; font-size:1rem !important; max-width:100% !important; min-width:0 !important; overflow:hidden !important; }
  #product-info .diten-short-description { margin-top:10px !important; }
}

/* Diten home slider, brand carousel, footer trust/payment polish */
.diten-home-slider-shell {
  background: #f4f7f8;
  padding: 1.25rem 0 0;
}

.diten-home-slider {
  overflow: hidden;
  border-radius: 26px;
  background: #060a0f;
  box-shadow: 0 20px 55px rgba(15, 23, 42, .13);
}

.diten-home-slider .carousel-item {
  background: #07110e;
}

.diten-home-slider img {
  display: block;
  width: 100%;
  aspect-ratio: 5 / 1;
  object-fit: cover;
}

.diten-slide-link {
  display: block;
}

.diten-home-slider .carousel-control-prev,
.diten-home-slider .carousel-control-next {
  width: 9%;
  opacity: .85;
}

.diten-home-slider .carousel-control-prev-icon,
.diten-home-slider .carousel-control-next-icon {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 999px;
  background-color: rgba(5, 8, 12, .55);
  background-size: 48%;
  box-shadow: 0 10px 26px rgba(0,0,0,.24);
}

.diten-home-slider .carousel-indicators {
  margin-bottom: .45rem;
}

.diten-home-slider .carousel-indicators [data-bs-target] {
  width: 34px;
  height: 5px;
  border: 0;
  border-radius: 999px;
  background-color: rgba(255,255,255,.55);
}

.diten-home-slider .carousel-indicators .active {
  background-color: #00d69f;
}

.diten-home-intro {
  margin-top: 1.2rem;
}

.diten-brand-carousel {
  overflow: hidden;
  border: 1px solid #dbe5ea;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 16px 42px rgba(15, 23, 42, .06);
  padding: .85rem;
}

.diten-brand-track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(132px, 1fr);
  gap: .85rem;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-snap-type: inline mandatory;
  scrollbar-width: thin;
  padding-bottom: .15rem;
}

.diten-brand-track a {
  scroll-snap-align: start;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  min-height: 122px;
  padding: .85rem;
  border: 1px solid #e2e8f0;
  border-radius: 20px;
  background: linear-gradient(180deg, #fff, #f8fbff);
  color: #101214;
  font-weight: 950;
  text-decoration: none;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.diten-brand-track a:hover {
  transform: translateY(-2px);
  border-color: rgba(0,168,132,.45);
  box-shadow: 0 14px 30px rgba(0,168,132,.10);
  color: #006d57;
}

.diten-brand-track img {
  width: 84px;
  height: 64px;
  object-fit: contain;
  mix-blend-mode: multiply;
}

.diten-brand-strip {
  display: none;
}

.diten-footer-trust-row {
  display: grid;
  grid-template-columns: minmax(180px, 260px) minmax(0, 1fr);
  gap: 1rem;
  align-items: stretch;
  margin: 1.15rem 0 1.6rem;
}

.diten-amvo-badge,
.diten-payment-card {
  border: 1px solid rgba(148, 163, 184, .25);
  border-radius: 22px;
  background: rgba(255,255,255,.06);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
}

.diten-amvo-badge {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}

.diten-amvo-badge img {
  max-width: 180px;
  width: 100%;
  height: auto;
  filter: drop-shadow(0 10px 18px rgba(0,0,0,.22));
}

.diten-payment-card {
  padding: 1rem;
}

.diten-payment-card h5 {
  margin: 0 0 .35rem;
}

.diten-payment-card p {
  color: #b9c7dc;
  margin: 0 0 .8rem;
  font-size: .9rem;
}

.diten-payment-methods {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
}

.diten-payment-methods span {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  min-height: 42px;
  padding: .42rem .7rem;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  color: #eef7ff;
  font-weight: 850;
  font-size: .88rem;
}

.diten-payment-methods img {
  width: 28px;
  height: 28px;
  object-fit: contain;
  border-radius: 8px;
}

.diten-card-payment i {
  color: #00d69f;
}

@media (max-width: 767.98px) {
  .diten-home-slider-shell {
    padding-top: .75rem;
  }
  .diten-home-slider {
    border-radius: 18px;
  }
  .diten-home-slider img {
    aspect-ratio: 16 / 7.2;
  }
  .diten-home-slider .carousel-control-prev-icon,
  .diten-home-slider .carousel-control-next-icon {
    width: 2rem;
    height: 2rem;
  }
  .diten-brand-track {
    grid-auto-columns: minmax(118px, 42vw);
  }
  .diten-footer-trust-row {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Diten home visual refinements after browser verification */
.diten-home-slider .carousel-item {
  background: #fff;
}

.diten-home-slider img {
  object-fit: contain;
  background: #fff;
}

.diten-brand-track {
  padding-right: 1rem;
}

.diten-amvo-badge {
  background: linear-gradient(135deg, #e9fff8 0%, #c9f8eb 42%, #ffffff 100%);
  border-color: rgba(0, 214, 159, .38);
  box-shadow: 0 16px 34px rgba(0, 214, 159, .16), inset 0 1px 0 rgba(255,255,255,.78);
}

.diten-amvo-badge img {
  max-width: 210px;
  filter: drop-shadow(0 8px 16px rgba(2, 44, 34, .18));
}

/* Diten Blog */
.store-blog-page,
.store-blog-article-page { padding-bottom: 56px; }
.store-blog-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 480px);
  gap: 28px;
  align-items: end;
  margin: 22px 0 28px;
  padding: clamp(28px, 5vw, 56px);
  border-radius: 28px;
  background: radial-gradient(circle at 20% 10%, rgba(0, 199, 163, .22), transparent 32%), linear-gradient(135deg, #071326 0%, #0b1f3a 58%, #0a2f3b 100%);
  color: #fff;
  overflow: hidden;
}
.store-blog-eyebrow { display:inline-flex; padding: 6px 12px; border-radius:999px; background:rgba(255,255,255,.12); color:#63f2d4; font-weight:800; letter-spacing:.08em; text-transform:uppercase; font-size:.78rem; margin-bottom:14px; }
.store-blog-hero h1 { color:#fff; font-family: var(--store-heading-font, 'Space Grotesk', Inter, sans-serif); font-size: clamp(2rem, 4vw, 3.7rem); line-height:1.02; margin:0 0 14px; }
.store-blog-hero p { color: rgba(255,255,255,.82); font-size:1.06rem; max-width: 62ch; margin:0; }
.store-blog-search { background:rgba(255,255,255,.98); border:1px solid rgba(255,255,255,.24); border-radius:22px; padding:18px; box-shadow:0 20px 50px rgba(0,0,0,.22); }
.store-blog-search label { color:#0b1628; font-weight:800; margin-bottom:10px; display:block; }
.store-blog-search-row { display:grid; grid-template-columns: minmax(0,1fr); gap:10px; }
.store-blog-search-row .form-control,
.store-blog-search-row .form-select { border-radius:14px; min-height:46px; border-color:#e5eaf0; }
.store-blog-search-row .btn { border-radius:14px; font-weight:800; background:#02b894; border-color:#02b894; color:#031528; }
.store-blog-topics { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:24px; }
.store-blog-topic { display:inline-flex; align-items:center; padding:9px 14px; border-radius:999px; border:1px solid #dce8e8; color:#0b3340; background:#fff; font-weight:800; text-decoration:none; }
.store-blog-topic.active,
.store-blog-topic:hover { background:#071326; border-color:#071326; color:#fff; }
.store-blog-toolbar { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:20px; }
.store-blog-toolbar h2 { margin:0; font-size:1.35rem; font-weight:900; color:#071326; }
.store-blog-sort { display:flex; align-items:center; gap:10px; }
.store-blog-sort label { font-weight:800; color:#566575; white-space:nowrap; }
.store-blog-sort .form-select { min-width:240px; border-radius:12px; }
.store-blog-grid { display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:22px; }
.store-blog-card { display:flex; flex-direction:column; background:#fff; border:1px solid #e7eef1; border-radius:24px; overflow:hidden; box-shadow:0 16px 42px rgba(8,24,45,.08); min-height:100%; }
.store-blog-card-image { height:190px; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,#f4f8fb,#eaf4f3); overflow:hidden; text-decoration:none; }
.store-blog-card-image img { width:100%; height:100%; object-fit:cover; }
.store-blog-card-image.is-placeholder span { font-family: var(--store-heading-font, 'Space Grotesk', Inter, sans-serif); color:#02b894; font-size:2rem; font-weight:900; }
.store-blog-card-body { padding:20px; display:flex; flex-direction:column; flex:1; }
.store-blog-meta { display:flex; gap:10px; flex-wrap:wrap; color:#6b7886; font-size:.86rem; font-weight:700; margin-bottom:12px; }
.store-blog-card h3 { font-size:1.12rem; line-height:1.28; margin:0 0 10px; }
.store-blog-card h3 a { color:#071326; text-decoration:none; }
.store-blog-card h3 a:hover { color:#02a884; }
.store-blog-card p { color:#536272; line-height:1.62; margin-bottom:18px; }
.store-blog-readmore { margin-top:auto; color:#028e78; font-weight:900; text-decoration:none; }
.store-blog-pagination { margin-top:26px; }
.store-blog-empty { background:#fff; border:1px dashed #cfdde0; border-radius:22px; padding:36px; text-align:center; color:#536272; }
.store-blog-article { max-width:1120px; margin:0 auto; }
.store-blog-article-hero { margin:22px 0 30px; padding: clamp(24px,4vw,46px); border-radius:28px; background:#fff; border:1px solid #e7eef1; box-shadow:0 18px 48px rgba(8,24,45,.08); }
.store-blog-back { display:inline-flex; gap:8px; align-items:center; color:#028e78; font-weight:900; text-decoration:none; margin-bottom:16px; }
.store-blog-article-hero h1 { color:#071326; font-family: var(--store-heading-font, 'Space Grotesk', Inter, sans-serif); font-size: clamp(2rem, 4.4vw, 4rem); line-height:1.04; margin:0 0 16px; }
.store-blog-article-image { width:100%; max-height:460px; object-fit:cover; border-radius:22px; margin-top:24px; background:#f4f8fb; }
.store-blog-article-body { background:#fff; border:1px solid #e7eef1; border-radius:24px; padding: clamp(22px, 3vw, 38px); color:#263445; line-height:1.78; font-size:1.03rem; }
.store-blog-article-body h2,
.store-blog-article-body h3 { color:#071326; font-weight:900; margin-top:1.5em; }
.store-blog-article-body a { color:#028e78; font-weight:800; }
.store-blog-article-body img { max-width:100%; height:auto; border-radius:16px; }
.store-blog-tags { margin-top:22px; display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.store-blog-tags a { padding:7px 11px; border-radius:999px; background:#eef7f5; color:#027a68; font-weight:800; text-decoration:none; }
.store-blog-cta-card { position:sticky; top:110px; background:linear-gradient(180deg,#071326,#0c223d); color:#fff; border-radius:24px; padding:24px; box-shadow:0 16px 42px rgba(8,24,45,.15); }
.store-blog-cta-card h2 { color:#fff; font-size:1.25rem; margin:0 0 10px; }
.store-blog-cta-card p { color:rgba(255,255,255,.78); }
.store-blog-cta-card .btn { background:#02d2aa; border-color:#02d2aa; color:#031528; border-radius:14px; font-weight:900; }
@media (max-width: 991.98px) {
  .store-blog-hero { grid-template-columns:1fr; }
  .store-blog-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .store-blog-toolbar { align-items:flex-start; flex-direction:column; }
  .store-blog-sort { width:100%; }
  .store-blog-sort .form-select { flex:1; min-width:0; }
  .store-blog-cta-card { position:static; }
}
@media (max-width: 575.98px) {
  .store-blog-hero { padding:24px; border-radius:22px; }
  .store-blog-grid { grid-template-columns: 1fr; }
  .store-blog-card-image { height:170px; }
  .store-blog-search-row { gap:8px; }
}

/* Diten SEO internal links */
.diten-seo-links {
  margin: 1.35rem 0 1.1rem;
  padding: 1.15rem;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 22px;
  background: linear-gradient(135deg, rgba(255,255,255,0.96), rgba(240,253,250,0.72));
  box-shadow: 0 16px 38px rgba(15, 23, 42, 0.06);
}
.diten-seo-links__eyebrow {
  margin-bottom: .35rem;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #0f766e;
}
.diten-seo-links__title {
  margin: 0 0 .85rem;
  font-size: clamp(1rem, 1.5vw, 1.22rem);
  line-height: 1.25;
  color: #0f172a;
}
.diten-seo-links__grid {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
}
.diten-seo-chip {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: .55rem .82rem;
  border: 1px solid rgba(15, 118, 110, 0.22);
  border-radius: 999px;
  background: #fff;
  color: #0f172a;
  font-size: .88rem;
  font-weight: 750;
  line-height: 1.1;
  text-decoration: none !important;
  box-shadow: 0 10px 22px rgba(15, 23, 42, 0.045);
  transition: transform .18s ease, border-color .18s ease, background .18s ease, color .18s ease;
}
.diten-seo-chip:hover,
.diten-seo-chip:focus {
  transform: translateY(-1px);
  border-color: rgba(20, 184, 166, .55);
  background: #0f766e;
  color: #fff;
}
@media (max-width: 575.98px) {
  .diten-seo-links { padding: .95rem; border-radius: 18px; }
  .diten-seo-links__grid { gap: .45rem; }
  .diten-seo-chip { width: 100%; justify-content: center; }
}

/* Diten category SEO visual guide */
.diten-category-guide {
  margin: 1.45rem 0 1.25rem;
  padding: 1.15rem;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 24px;
  background:
    radial-gradient(circle at top left, rgba(20,184,166,.16), transparent 34%),
    linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
  box-shadow: 0 18px 42px rgba(15, 23, 42, .065);
}
.diten-category-guide__head {
  display: flex;
  flex-direction: column;
  gap: .28rem;
  margin-bottom: .95rem;
}
.diten-category-guide__head span {
  color: #0f766e;
  font-size: .72rem;
  line-height: 1;
  font-weight: 850;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.diten-category-guide__head h2 {
  margin: 0;
  color: #0f172a;
  font-size: clamp(1.08rem, 1.75vw, 1.38rem);
  line-height: 1.2;
  letter-spacing: -.02em;
}
.diten-category-guide__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .85rem;
}
.diten-category-guide__card {
  min-width: 0;
  padding: .95rem;
  border: 1px solid rgba(15, 23, 42, .07);
  border-radius: 18px;
  background: rgba(255, 255, 255, .9);
  box-shadow: 0 10px 26px rgba(15, 23, 42, .045);
}
.diten-category-guide__card h3 {
  margin: 0 0 .65rem;
  color: #0f172a;
  font-size: .96rem;
  font-weight: 850;
}
.diten-category-guide__card ul {
  display: grid;
  gap: .42rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.diten-category-guide__card li { margin: 0; padding: 0; }
.diten-category-guide__card a {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  color: #0f766e;
  font-size: .88rem;
  font-weight: 750;
  text-decoration: none !important;
}
.diten-category-guide__card a::before {
  content: "";
  width: .36rem;
  height: .36rem;
  border-radius: 999px;
  background: #14b8a6;
  box-shadow: 0 0 0 3px rgba(20, 184, 166, .12);
}
.diten-category-guide__card a:hover,
.diten-category-guide__card a:focus { color: #0f172a; }
@media (max-width: 991.98px) {
  .diten-category-guide__grid { grid-template-columns: 1fr; }
  .diten-category-guide { border-radius: 20px; }
}
@media (max-width: 575.98px) {
  .diten-category-guide { padding: .95rem; margin: 1rem 0; }
  .diten-category-guide__card { padding: .82rem; }
}

/* Diten account dropdown layering fix: keep topbar account menu above sticky search/header */
#top.store-topbar {
  position: relative !important;
  z-index: 1100 !important;
  overflow: visible !important;
}

#top.store-topbar .container,
#top.store-topbar .row,
#top.store-topbar .store-topbar-links,
#top.store-topbar .list-inline-item,
#top.store-topbar .dropdown {
  overflow: visible !important;
}

#top.store-topbar .dropdown-menu {
  z-index: 2200 !important;
}

.store-header {
  z-index: 1020;
}

/* Diten manufacturer brand hero */
#product-manufacturer .manufacturer-hero {
  position: relative;
  margin: 0 0 1.35rem;
  border-radius: 22px;
  overflow: hidden;
  background: #08111f;
  box-shadow: 0 22px 55px rgba(15, 23, 42, .16);
}

#product-manufacturer .manufacturer-hero__image {
  display: block;
  width: 100%;
  height: auto;
  min-height: 210px;
  object-fit: cover;
}

#product-manufacturer .manufacturer-hero__meta {
  position: absolute;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 18px;
  max-width: calc(100% - 56px);
}

#product-manufacturer .manufacturer-hero__meta--bottom-left {
  bottom: 28px;
  left: 28px;
}

#product-manufacturer .manufacturer-hero__thumb-card,
#product-manufacturer .manufacturer-hero__text-card {
  background: rgba(255, 255, 255, .96);
  border: 1px solid rgba(226, 232, 240, .85);
  border-radius: 18px;
  box-shadow: 0 10px 32px rgba(0, 0, 0, .18);
}

#product-manufacturer .manufacturer-hero__thumb-card {
  padding: 10px;
}

#product-manufacturer .manufacturer-hero__thumb-card img {
  display: block;
  width: 92px;
  height: 92px;
  object-fit: contain;
}

#product-manufacturer .manufacturer-hero__text-card {
  padding: 16px 22px;
  color: #141414;
  font-size: clamp(1.35rem, 2.4vw, 2rem);
  font-weight: 800;
  line-height: 1.1;
}

#product-manufacturer .manufacturer-brand-card {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  margin: 0 0 1.25rem;
  padding: .9rem 1.1rem;
  border: 1px solid rgba(226, 232, 240, .95);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 14px 36px rgba(15, 23, 42, .08);
}

#product-manufacturer .manufacturer-brand-card img {
  width: 88px;
  height: 88px;
  object-fit: contain;
}

#product-manufacturer .manufacturer-brand-card strong {
  color: var(--store-ink);
  font-size: 1.35rem;
}

@media (max-width: 767px) {
  #product-manufacturer .manufacturer-hero {
    border-radius: 16px;
  }

  #product-manufacturer .manufacturer-hero__image {
    min-height: 170px;
  }

  #product-manufacturer .manufacturer-hero__meta {
    left: 12px;
    bottom: 12px;
    gap: 10px;
    max-width: calc(100% - 24px);
  }

  #product-manufacturer .manufacturer-hero__thumb-card {
    padding: 8px;
  }

  #product-manufacturer .manufacturer-hero__thumb-card img {
    width: 60px;
    height: 60px;
  }

  #product-manufacturer .manufacturer-hero__text-card {
    padding: 10px 14px;
    font-size: 1.15rem;
  }
}


/* Diten premium step checkout */
.checkout-step-page .checkout-step-hero {
  background:
    radial-gradient(circle at 88% 18%, rgba(0, 168, 132, .42), transparent 28%),
    linear-gradient(135deg, #071827 0%, #0f2f4a 48%, #09291f 100%);
}

.checkout-step-page .checkout-kicker {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
}

.checkout-step-shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 1.15rem;
  align-items: start;
}

.checkout-step-accordion {
  display: grid;
  gap: 1rem;
}

.checkout-step-accordion .accordion-item.checkout-step-item {
  border: 1px solid rgba(226, 232, 240, .95);
  border-radius: 24px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 18px 45px rgba(15, 23, 42, .08);
}

.checkout-step-accordion .accordion-button.checkout-step-toggle {
  gap: .9rem;
  padding: 1.05rem 1.15rem;
  color: #0f172a;
  background: linear-gradient(135deg, #ffffff 0%, #f8fbff 100%);
  box-shadow: none;
}

.checkout-step-accordion .accordion-button.checkout-step-toggle:not(.collapsed) {
  color: #07291f;
  background: linear-gradient(135deg, #f0fdfa 0%, #eef7ff 100%);
  border-bottom: 1px solid rgba(203, 213, 225, .7);
}

.checkout-step-accordion .accordion-button.checkout-step-toggle::after {
  width: 36px;
  height: 36px;
  border-radius: 999px;
  background-color: #fff;
  background-position: center;
  box-shadow: 0 8px 22px rgba(15, 23, 42, .12);
}

.checkout-step-number {
  flex: 0 0 auto;
  width: 42px;
  height: 42px;
  border-radius: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--store-blue), #0f766e);
  color: #fff;
  font-weight: 950;
  box-shadow: 0 12px 28px rgba(0, 168, 132, .24);
}

.checkout-step-copy {
  display: grid;
  gap: .18rem;
}

.checkout-step-copy strong {
  color: #0f172a;
  font-size: 1.05rem;
  font-weight: 950;
}

.checkout-step-copy small {
  color: #64748b;
  font-size: .86rem;
  line-height: 1.35;
}

.checkout-step-body {
  padding: 1rem;
  background: #fbfdff;
}

.checkout-step-body .checkout-card {
  margin-bottom: 1rem;
  box-shadow: none;
}

.checkout-step-body .checkout-card:last-child {
  margin-bottom: 0;
}

.checkout-progress-steps .checkout-step {
  text-decoration: none;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.checkout-progress-steps .checkout-step:hover {
  transform: translateY(-1px);
  box-shadow: 0 12px 24px rgba(15, 23, 42, .08);
}

.checkout-step-aside {
  position: sticky;
  top: 118px;
  display: grid;
  gap: 1rem;
}

.checkout-assurance-card {
  border-radius: 24px;
  padding: 1.15rem;
  background: linear-gradient(135deg, #081827, #0f3a33);
  color: #fff;
  box-shadow: 0 18px 45px rgba(15, 23, 42, .12);
}

.checkout-assurance-card--light {
  background: #fff;
  color: #0f172a;
  border: 1px solid rgba(226, 232, 240, .95);
}

.checkout-assurance-card span {
  width: 42px;
  height: 42px;
  border-radius: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: .8rem;
  background: rgba(255, 255, 255, .14);
  color: #5eead4;
}

.checkout-assurance-card--light span {
  background: #ecfdf5;
  color: var(--store-blue);
}

.checkout-assurance-card strong {
  display: block;
  font-size: 1.05rem;
  font-weight: 950;
  margin-bottom: .3rem;
}

.checkout-assurance-card p {
  margin: 0;
  color: rgba(255, 255, 255, .76);
  line-height: 1.5;
}

.checkout-assurance-card--light p {
  color: #64748b;
}

@media (max-width: 991.98px) {
  .checkout-step-shell {
    grid-template-columns: 1fr;
  }
  .checkout-step-aside {
    position: static;
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 767.98px) {
  .checkout-step-accordion .accordion-button.checkout-step-toggle {
    align-items: flex-start;
    padding: .9rem;
  }
  .checkout-step-copy small {
    font-size: .78rem;
  }
  .checkout-step-aside {
    grid-template-columns: 1fr;
  }
}

/* Checkout step lock */
.checkout-step-nav-link.is-locked,
.checkout-panel-trigger.is-locked,
.checkout-panel-trigger[disabled] {
  opacity: .48;
  cursor: not-allowed !important;
  filter: grayscale(.25);
}
.checkout-panel-trigger[disabled] {
  pointer-events: auto;
}
.checkout-step-lock-hint {
  display: flex;
  gap: .55rem;
  align-items: center;
  margin-bottom: 1rem;
  padding: .85rem 1rem;
  border-radius: 14px;
  background: #f4f8fb;
  border: 1px solid rgba(12, 63, 82, .12);
  color: #45606d;
  font-weight: 700;
}
.checkout-step-lock-hint i {
  color: #0b7586;
}
.checkout-step-nav-link.is-complete {
  border-color: rgba(22, 163, 74, .4);
  background: rgba(22, 163, 74, .08);
}

/* Checkout nav step lock fix */
.checkout-step.is-locked {
  opacity: .48;
  cursor: not-allowed !important;
  filter: grayscale(.25);
}
.checkout-step.is-complete {
  border-color: rgba(22, 163, 74, .45) !important;
  background: rgba(22, 163, 74, .08) !important;
}

/* Existing address continue button polish */
#button-shipping-existing-continue,
#button-payment-existing-continue {
  min-width: 150px;
  border-radius: 999px;
  font-weight: 800;
}


/* Premium checkout success */
.checkout-success-card {
  background: linear-gradient(145deg, #ffffff 0%, #f3fbfa 100%);
  border: 1px solid rgba(12, 42, 55, .08);
  border-radius: 28px;
  box-shadow: 0 22px 60px rgba(10, 32, 46, .10);
  padding: clamp(26px, 4vw, 46px);
  margin: 24px 0 42px;
}
.checkout-success-icon {
  width: 64px;
  height: 64px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 22px;
  background: linear-gradient(135deg, #0fc7a7, #0a8ea0);
  color: #fff;
  font-size: 2rem;
  font-weight: 900;
  box-shadow: 0 14px 28px rgba(15, 199, 167, .28);
  margin-bottom: 16px;
}
.checkout-success-kicker {
  margin: 0 0 8px;
  color: #0a8ea0;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: .82rem;
}
.checkout-success-card h1 { margin-bottom: 8px; }
.checkout-success-card h2 { font-size: clamp(1.35rem, 2.4vw, 2rem); margin-bottom: 18px; color: #0b2230; }
.checkout-success-message { color: #475569; font-size: 1.02rem; line-height: 1.75; }
.checkout-success-summary { margin-top: 26px; border-radius: 22px; background: #fff; border: 1px solid rgba(15, 23, 42, .08); overflow: hidden; }
.checkout-success-summary-head { display: flex; justify-content: space-between; gap: 18px; align-items: center; padding: 18px 20px; background: #071018; color: #fff; }
.checkout-success-summary-head span { display: block; color: #9ee6dc; font-size: .85rem; text-transform: uppercase; letter-spacing: .06em; }
.checkout-success-total { font-size: 1.2rem; color: #9ee6dc; white-space: nowrap; }
.checkout-success-summary h3 { font-size: 1.05rem; padding: 18px 20px 0; margin: 0; }
.checkout-success-products { display: grid; gap: 12px; padding: 16px 20px 20px; }
.checkout-success-product { display: grid; grid-template-columns: 76px 1fr; gap: 14px; padding: 12px; border: 1px solid #e5edf0; border-radius: 18px; color: inherit; text-decoration: none; background: #fbfdfe; transition: transform .18s ease, box-shadow .18s ease; }
.checkout-success-product:hover { transform: translateY(-2px); box-shadow: 0 14px 26px rgba(10, 32, 46, .08); color: inherit; }
.checkout-success-product img { width: 76px; height: 76px; object-fit: contain; border-radius: 14px; background: #fff; }
.checkout-success-product-info { display: flex; flex-direction: column; gap: 4px; }
.checkout-success-product-info strong { color: #0b2230; }
.checkout-success-product-info small { color: #64748b; }
.checkout-success-help { margin-top: 22px; color: #475569; background: rgba(15, 199, 167, .08); border-left: 4px solid #0fc7a7; padding: 14px 16px; border-radius: 14px; }
@media (max-width: 575px) {
  .checkout-success-summary-head { align-items: flex-start; flex-direction: column; }
  .checkout-success-product { grid-template-columns: 64px 1fr; }
  .checkout-success-product img { width: 64px; height: 64px; }
}


/* Quick premium UX refinements: product cards, active filters and quote documentation */
.product-card { transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease; }
.product-card:hover { transform: translateY(-2px); box-shadow: 0 16px 34px rgba(15, 23, 42, .10) !important; border-color: rgba(0, 150, 214, .22) !important; }
.product-card-image { min-height: 188px; }
.product-card-image img { max-height: 166px; }
.product-card-trust-row { display:flex; flex-wrap:wrap; gap:.35rem; margin-bottom:.35rem; }
.product-card-trust-row span { font-size:.66rem; font-weight:800; color:#0f766e; background:#ecfdf5; border:1px solid rgba(15,118,110,.12); border-radius:999px; padding:.18rem .42rem; }
.product-card-price-quote { color:#0f766e; font-size:1.04rem; }
.product-card-quote-cta { background:#fff !important; color:#0078b6 !important; border:1px solid rgba(0,120,182,.3) !important; box-shadow:none !important; }
.product-card-quote-cta:hover { background:#effaff !important; color:#006ca3 !important; }
.product-card-details-link { min-height:30px; border:1px solid #e8eef5; border-radius:.65rem; background:#fff; }
.product-card-details-link:hover { text-decoration:none; background:#f8fcff; border-color:rgba(0,138,203,.24); }
.facet-active-summary { border:1px solid rgba(0,138,203,.16); background:linear-gradient(180deg,#f8fcff,#fff); border-radius:.9rem; padding:.75rem; }
.facet-active-title { font-size:.72rem; font-weight:900; text-transform:uppercase; letter-spacing:.035em; color:#0f172a; margin-bottom:.45rem; }
.facet-active-chips { display:flex; flex-wrap:wrap; gap:.35rem; }
.facet-active-chips span { font-size:.72rem; font-weight:700; color:#075985; background:#e0f2fe; border:1px solid rgba(7,89,133,.12); border-radius:999px; padding:.22rem .5rem; }
.diten-doc-card--request { border-style:solid; background:linear-gradient(180deg,#f8fcff,#fff); }
.diten-doc-card--request span { color:#475569; }
@media (max-width: 767.98px) { .product-card-image { min-height: 164px; } .product-card-image img { max-height: 142px; } }


/* Blog DITEN import visual polish - 2026-05 */
.store-blog-hero { position: relative; overflow: hidden; isolation: isolate; }
.store-blog-hero::before { content:""; position:absolute; inset:-40% -10% auto auto; width:420px; height:420px; background:radial-gradient(circle, rgba(2,210,170,.32), transparent 66%); z-index:-1; }
.store-blog-hero::after { content:""; position:absolute; inset:auto auto -45% -15%; width:360px; height:360px; background:radial-gradient(circle, rgba(66,133,244,.22), transparent 68%); z-index:-1; }
.store-blog-hero-pills { display:flex; flex-wrap:wrap; gap:10px; margin-top:20px; }
.store-blog-hero-pills span { display:inline-flex; align-items:center; gap:7px; padding:8px 12px; border-radius:999px; background:rgba(255,255,255,.11); color:#eafffb; border:1px solid rgba(255,255,255,.18); font-size:.86rem; font-weight:800; }
.store-blog-card { transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.store-blog-card:hover { transform: translateY(-5px); box-shadow:0 24px 62px rgba(8,24,45,.14); border-color:#cfe9e4; }
.store-blog-card.is-featured { grid-column: span 2; display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr); min-height:360px; }
.store-blog-card.is-featured .store-blog-card-image { height:100%; min-height:360px; }
.store-blog-card.is-featured .store-blog-card-body { padding:28px; }
.store-blog-card.is-featured h3 { font-size:clamp(1.45rem,2.4vw,2.05rem); line-height:1.14; }
.store-blog-card.is-featured .store-blog-readmore { display:inline-flex; align-items:center; gap:8px; width:max-content; padding:11px 15px; border-radius:14px; background:#071326; color:#fff; }
.store-blog-card-image { position:relative; }
.store-blog-card-image::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg, transparent 55%, rgba(7,19,38,.18)); pointer-events:none; }
.store-blog-meta span { display:inline-flex; align-items:center; gap:6px; }
.store-blog-meta span::before { content:""; width:6px; height:6px; border-radius:50%; background:#02b894; opacity:.82; }
.store-blog-article-body { box-shadow:0 14px 40px rgba(8,24,45,.06); }
.store-blog-article-body p { margin-bottom:1.15rem; }
.store-blog-article-body ul, .store-blog-article-body ol { padding-left:1.35rem; margin-bottom:1.25rem; }
.store-blog-article-body li { margin-bottom:.45rem; }
.store-blog-article-body blockquote { border-left:4px solid #02b894; background:#f1fbf8; padding:18px 20px; border-radius:0 16px 16px 0; color:#173044; }
.store-blog-article-image { box-shadow:0 20px 55px rgba(8,24,45,.12); }
@media (max-width: 991px) {
  .store-blog-card.is-featured { grid-column:span 1; display:flex; }
  .store-blog-card.is-featured .store-blog-card-image { height:220px; min-height:0; }
}


/* 2026-05-19: keep category menu/dropdowns above facet/listing layers and prevent desktop clipping */
.category-facets {
  position: relative;
  z-index: 1;
}
#menu.diten-category-menu,
#menu.store-menu {
  position: relative;
  z-index: 1040;
  overflow: visible;
}
#menu .dropdown-menu,
#menu .dropdown-menu.diten-mega-menu,
#menu .store-menu-dropdown {
  z-index: 1050;
}
@media (min-width: 992px) {
  #menu .diten-menu-quick {
    overflow: visible;
    flex-wrap: wrap;
  }
}

/* 2026-05-18: sticky facet/header layering fix */
/* Keep catalog filters below the sticky header and always under category/menu dropdowns. */
.store-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 3000 !important;
  isolation: isolate;
  background: #fff;
  overflow: visible !important;
}
.store-header .container,
.store-header .row,
.store-header-search,
.store-header-actions,
.store-header-cart {
  overflow: visible !important;
}
#menu.diten-category-menu,
#menu.store-menu {
  position: relative !important;
  z-index: 2900 !important;
  overflow: visible !important;
  isolation: isolate;
}
#menu .dropdown-menu,
#menu .dropdown-menu.diten-mega-menu,
#menu .store-menu-dropdown,
#menu .diten-mega-menu {
  z-index: 3200 !important;
}
@media (min-width: 992px) {
  #product-category aside,
  #product-search aside,
  #product-manufacturer aside,
  #product-special aside {
    position: relative !important;
    z-index: 2 !important;
  }
  #product-category .category-facets,
  #product-search .category-facets,
  #product-manufacturer .category-facets,
  #product-special .category-facets {
    position: sticky !important;
    top: 104px !important;
    z-index: 2 !important;
    max-height: calc(100vh - 124px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    overscroll-behavior: contain;
  }
  #product-category #content,
  #product-category .product-toolbar,
  #product-category .product-layout,
  #product-search #content,
  #product-manufacturer #content,
  #product-special #content {
    position: relative;
    z-index: 1;
  }
}

/* 2026-05-18: override Bootstrap sticky wrapper used around category filters */
@media (min-width: 992px) {
  #product-category aside .sticky-lg-top,
  #product-search aside .sticky-lg-top,
  #product-manufacturer aside .sticky-lg-top,
  #product-special aside .sticky-lg-top {
    top: 104px !important;
    z-index: 2 !important;
  }
}


/* 2026-05-18: premium normalized product image presentation */
.product-card-image,
.product-thumb .image,
.product-listing-card .product-card-image {
  background: radial-gradient(circle at center, #ffffff 0%, #f8fafc 78%);
  border-radius: 18px;
  overflow: hidden;
}
.product-card-image img,
.product-thumb .image img,
.product-listing-card .product-card-image img {
  object-fit: contain !important;
  filter: drop-shadow(0 12px 20px rgba(15, 23, 42, .13));
  transition: transform .22s ease, filter .22s ease;
  will-change: transform, filter;
}
.product-card:hover .product-card-image img,
.product-thumb:hover .image img,
.product-listing-card:hover .product-card-image img {
  transform: translateY(-2px) scale(1.025);
  filter: drop-shadow(0 18px 28px rgba(15, 23, 42, .18));
}
.diten-main-image,
#product-info .diten-main-image,
.product-detail-shell .diten-main-image {
  background: radial-gradient(circle at center, #ffffff 0%, #f8fafc 74%);
  border-radius: 22px;
}
.diten-main-image img,
#product-info .diten-main-image img,
.product-detail-shell .diten-main-image img {
  object-fit: contain !important;
  filter: drop-shadow(0 20px 34px rgba(15, 23, 42, .16));
  transition: transform .22s ease, filter .22s ease;
}
.diten-main-image:hover img,
#product-info .diten-main-image:hover img {
  transform: translateY(-2px) scale(1.015);
  filter: drop-shadow(0 26px 42px rgba(15, 23, 42, .20));
}

/* DITEN premium SEO home refresh 2026-05 */
.diten-home-pro {
  background: #f4f8fb;
}

.diten-pro-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(2.4rem, 5vw, 4.8rem) 0 2.6rem;
  background:
    radial-gradient(circle at 12% 10%, rgba(0, 214, 159, .28), transparent 30%),
    radial-gradient(circle at 88% 22%, rgba(13, 148, 136, .2), transparent 34%),
    linear-gradient(135deg, #06121f 0%, #071827 45%, #042c2a 100%);
  color: #fff;
}

.diten-pro-hero::after {
  content: "";
  position: absolute;
  inset: auto -8% -42% 48%;
  height: 70%;
  background: linear-gradient(135deg, rgba(0,214,159,.12), rgba(255,255,255,.02));
  transform: rotate(-10deg);
  border-radius: 80px;
}

.diten-pro-hero-grid,
.diten-pro-tools-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(320px, .88fr);
  gap: clamp(1.2rem, 3vw, 2.4rem);
  align-items: center;
}

.diten-pro-hero-copy h1 {
  max-width: 820px;
  margin: .65rem 0 1rem;
  font-size: clamp(2.3rem, 5.8vw, 5.2rem);
  line-height: .96;
  letter-spacing: -.06em;
  font-weight: 950;
}

.diten-pro-hero-copy p {
  max-width: 720px;
  color: #d8e9f1;
  font-size: clamp(1rem, 1.8vw, 1.22rem);
  line-height: 1.7;
}

.diten-pro-hero-metrics {
  display: flex;
  flex-wrap: wrap;
  gap: .85rem;
  margin-top: 1.45rem;
}

.diten-pro-hero-metrics span,
.diten-pro-strip-grid > div {
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.08);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter: blur(14px);
}

.diten-pro-hero-metrics span {
  display: inline-flex;
  flex-direction: column;
  min-width: 138px;
  padding: .82rem 1rem;
  border-radius: 18px;
  color: #cce2ea;
}

.diten-pro-hero-metrics strong {
  color: #fff;
  font-size: 1.25rem;
}

.diten-pro-hero-panel {
  display: grid;
  gap: 1rem;
}

.diten-hero-search-card,
.diten-pro-category-panel,
.diten-product-card,
.diten-brand-pro-card,
.diten-seo-copy-card,
.diten-configurator-card {
  border: 1px solid rgba(15, 23, 42, .08);
  background: rgba(255,255,255,.92);
  box-shadow: 0 24px 70px rgba(15,23,42,.09);
}

.diten-hero-search-card {
  padding: 1.25rem;
  border-radius: 28px;
  color: #102033;
}

.diten-hero-search-card span,
.diten-pro-category-panel > span,
.diten-product-model {
  display: inline-flex;
  color: #009f78;
  font-size: .72rem;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.diten-hero-search-card strong {
  display: block;
  margin: .4rem 0;
  font-size: 1.35rem;
  line-height: 1.12;
}

.diten-hero-search-card p {
  margin: 0;
  color: #4b5d6c;
}

.diten-pro-quick-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .85rem;
}

.diten-pro-quick-grid a {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: .75rem;
  align-items: center;
  min-height: 92px;
  padding: 1rem;
  color: #eafff8;
  text-decoration: none;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 22px;
  background: rgba(255,255,255,.08);
  transition: transform .2s ease, background .2s ease, border-color .2s ease;
}

.diten-pro-quick-grid a:hover {
  transform: translateY(-3px);
  background: rgba(0,214,159,.16);
  border-color: rgba(0,214,159,.45);
}

.diten-pro-quick-grid i {
  grid-row: span 2;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  color: #06231f;
  border-radius: 14px;
  background: #00d69f;
}

.diten-pro-quick-grid span { font-weight: 950; }
.diten-pro-quick-grid small { color: #bdd2dd; }

.diten-pro-strip {
  margin-top: -1.3rem;
  position: relative;
  z-index: 2;
}

.diten-pro-strip-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .9rem;
}

.diten-pro-strip-grid > div {
  display: grid;
  grid-template-columns: 40px 1fr;
  gap: .65rem .85rem;
  align-items: center;
  padding: 1rem;
  color: #ecfffb;
  border-radius: 22px;
  background: linear-gradient(135deg, #071827, #0a2e2c);
}

.diten-pro-strip-grid i { color: #00d69f; font-size: 1.35rem; }
.diten-pro-strip-grid strong { font-size: .98rem; }
.diten-pro-strip-grid span { grid-column: 2; color: #bdd2dd; font-size: .86rem; }

.diten-section-heading.with-action {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 1rem;
}

.diten-pro-category-showcase,
.diten-product-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.diten-pro-category-panel {
  position: relative;
  overflow: hidden;
  border-radius: 28px;
  padding: 1.25rem;
}

.diten-pro-category-panel::after {
  content: "";
  position: absolute;
  right: -36px;
  top: -36px;
  width: 128px;
  height: 128px;
  background: radial-gradient(circle, rgba(0,214,159,.18), transparent 68%);
}

.diten-cat-icon {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  margin-bottom: 1rem;
  border-radius: 18px;
  color: #03231e;
  background: linear-gradient(135deg, #00d69f, #9ff7df);
  box-shadow: 0 12px 30px rgba(0,214,159,.22);
}

.diten-pro-category-panel h3 {
  margin: .45rem 0 .55rem;
  font-size: 1.35rem;
}

.diten-pro-category-panel h3 a { color: #0f172a; text-decoration: none; }
.diten-pro-category-panel p { color: #546578; min-height: 74px; }
.diten-pro-category-panel ul { margin: .9rem 0 1rem; padding: 0; list-style: none; }
.diten-pro-category-panel li + li { margin-top: .35rem; }
.diten-pro-category-panel li a { color: #0f766e; font-weight: 800; text-decoration: none; }
.diten-panel-cta { color: #071827; font-weight: 950; text-decoration: none; }

.diten-product-rail {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(220px, 25%);
  gap: 1rem;
  overflow-x: auto;
  padding: .3rem .2rem 1rem;
  scroll-snap-type: x mandatory;
}

.diten-product-card {
  display: flex;
  flex-direction: column;
  border-radius: 24px;
  overflow: hidden;
  scroll-snap-align: start;
  transition: transform .2s ease, box-shadow .2s ease;
}

.diten-product-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 24px 60px rgba(15,23,42,.14);
}

.diten-product-image {
  display: grid;
  place-items: center;
  min-height: 210px;
  padding: 1rem;
  background: linear-gradient(180deg, #fff, #f3f8fb);
}

.diten-product-image img {
  max-width: 100%;
  max-height: 190px;
  object-fit: contain;
  filter: drop-shadow(0 16px 22px rgba(15,23,42,.12));
}

.diten-product-body {
  display: flex;
  flex-direction: column;
  gap: .45rem;
  padding: 1rem;
  flex: 1;
}

.diten-product-body h3 {
  margin: 0;
  font-size: .98rem;
  line-height: 1.35;
  min-height: 4.05em;
}

.diten-product-body h3 a {
  color: #0f172a;
  text-decoration: none;
}

.diten-product-price {
  color: #042f2e;
  font-size: 1.24rem;
  font-weight: 950;
}

.diten-product-body small { color: #64748b; }
.diten-product-cta {
  margin-top: auto;
  display: inline-flex;
  justify-content: center;
  padding: .72rem 1rem;
  border-radius: 14px;
  color: #05231f;
  background: #00d69f;
  font-weight: 950;
  text-decoration: none;
}

.diten-brand-pro-card {
  padding: clamp(1rem, 2.6vw, 1.6rem);
  border-radius: 30px;
  background: linear-gradient(135deg, #ffffff, #f1fbf8);
}

.diten-brand-pro-card .diten-brand-carousel {
  margin-top: 1.1rem;
  padding: .4rem;
  border-radius: 24px;
  background: #f8fafc;
}

.diten-brand-pro-card .diten-brand-track {
  grid-auto-columns: minmax(132px, 1fr);
  gap: .8rem;
}

.diten-brand-pro-card .diten-brand-track a {
  min-height: 116px;
  border: 1px solid rgba(15,23,42,.08);
  background: #fff;
  box-shadow: 0 12px 30px rgba(15,23,42,.06);
}

.diten-brand-pro-card .diten-brand-track img {
  max-height: 42px;
  transform: scale(1.04);
}

.diten-pro-tools-seo {
  padding-bottom: clamp(2rem, 5vw, 4rem);
}

.diten-pro-tools-grid {
  grid-template-columns: minmax(280px, .82fr) minmax(0, 1.18fr);
  align-items: stretch;
}

.diten-pro-tools-grid .diten-configurator-card,
.diten-seo-copy-card {
  border-radius: 30px;
  padding: clamp(1.25rem, 3vw, 2rem);
}

.diten-seo-copy-card h2,
.diten-configurator-card h2 { color: #0f172a; }
.diten-seo-copy-card p { color: #4b5d6c; line-height: 1.75; }
.diten-seo-links { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1rem; }
.diten-seo-links a {
  padding: .55rem .82rem;
  color: #075e54;
  border: 1px solid rgba(0,150,120,.2);
  border-radius: 999px;
  background: #edfff9;
  font-weight: 850;
  text-decoration: none;
}

@media (max-width: 991.98px) {
  .diten-pro-hero-grid,
  .diten-pro-tools-grid,
  .diten-pro-category-showcase,
  .diten-product-grid,
  .diten-pro-strip-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .diten-product-rail { grid-auto-columns: minmax(230px, 78vw); }
  .diten-section-heading.with-action { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 575.98px) {
  .diten-pro-quick-grid { grid-template-columns: minmax(0, 1fr); }
  .diten-pro-hero-copy h1 { font-size: 2.35rem; }
  .diten-pro-hero { padding-top: 1.8rem; }
  .diten-product-image { min-height: 180px; }
}

/* DITEN home verification polish: hero contrast + image confidence */
.diten-home-pro .diten-pro-hero,
.diten-home-pro .diten-pro-hero-copy,
.diten-home-pro .diten-pro-hero-copy h1 {
  color: #ffffff !important;
}
.diten-home-pro .diten-pro-hero-copy h1 {
  text-shadow: 0 18px 42px rgba(0,0,0,.34);
}
.diten-home-pro .diten-product-image::before {
  content: "";
  position: absolute;
  inset: 16px;
  border-radius: 20px;
  background: radial-gradient(circle at 50% 35%, rgba(0,214,159,.08), transparent 52%);
  pointer-events: none;
}
.diten-home-pro .diten-product-image { position: relative; }
.diten-home-pro .diten-product-image img { position: relative; z-index: 1; }
