/* White Ceramic Catalog — 1.0.2, inspector reference 2026-08-31.
   Scoped integration: never force display or change Elementor responsive visibility.
   The :has rule also covers Elementor's cached HTML before it is regenerated. */
.elementor .elementor-element.elementor-widget-shortcode.wccatalog-host {
  --container-widget-width: 100%;
  --container-widget-flex-grow: 0;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  flex-grow: 0;
  align-self: stretch;
}
@supports selector(:has(*)) {
  .elementor .elementor-element.elementor-widget-shortcode:has(.wccatalog) {
    --container-widget-width: 100%;
    --container-widget-flex-grow: 0;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    flex-grow: 0;
    align-self: stretch;
  }
}
.elementor .elementor-widget-shortcode.wccatalog-host > .elementor-widget-container,
.elementor .elementor-widget-shortcode.wccatalog-host .elementor-shortcode {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}
.wccatalog {
  --wcc-active: #f4f5f6;
  --wcc-inactive: #f0f1f3;
  --wcc-active-text: #111;
  --wcc-inactive-text: #111;
  width: 100%;
  max-width: 1372px;
  min-width: 0;
  margin-inline: auto;
  /* Size containment here collapses auto-width Elementor shortcode widgets. */
  container-type: normal;
  display: block;
  font-family: Montserrat, sans-serif;
  text-align: left;
}
.wccatalog, .wccatalog * { box-sizing: border-box; }
.wccatalog .wccatalog__section { margin: 0 0 clamp(32px, 4vw, 56px); padding: 0; border: 0; }
.wccatalog .wccatalog__section:last-child { margin-bottom: 0; }
.wccatalog .wccatalog__heading {
  margin: 0 0 50px;
  padding: 0;
  font: 600 clamp(26px, 2.7vw, 36px)/1.2 "Poiret One", Montserrat, sans-serif;
  letter-spacing: 0;
  text-transform: none;
  overflow-wrap: anywhere;
}
.wccatalog .wccatalog__grid {
  --wcc-track-min: calc((100% - 90px) / 6);
  --wcc-card-min: 160px;
  display: grid;
  /* auto-fill retains empty tracks: a lone brand does not become a giant card.
     min(100%, ...) permits one column in deliberately narrow parent containers. */
  grid-template-columns: repeat(auto-fill, minmax(min(100%, max(var(--wcc-card-min), var(--wcc-track-min))), 1fr));
  gap: 18px;
  min-width: 0;
}
.wccatalog .wccatalog__card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  min-width: 0;
  width: 100%;
  min-height: 205px;
  margin: 0;
  padding: 24px 18px 20px;
  border: 0;
  border-radius: 24px;
  box-shadow: none;
  text-align: center;
  text-decoration: none;
  font-family: Montserrat, sans-serif;
  -webkit-tap-highlight-color: transparent;
  transition: transform .18s ease, box-shadow .18s ease;
}
.wccatalog .wccatalog__card--active,
.wccatalog .wccatalog__card--active:visited,
.wccatalog .wccatalog__card--active:hover,
.wccatalog .wccatalog__card--active:focus,
.wccatalog .wccatalog__card--active:active {
  background: var(--wcc-active);
  color: var(--wcc-active-text);
  text-decoration: none;
  cursor: pointer;
}
.wccatalog .wccatalog__card--inactive { background: var(--wcc-inactive); color: var(--wcc-inactive-text); cursor: default; }
.wccatalog .wccatalog__card--active:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.wccatalog .wccatalog__logo {
  display: flex;
  align-items: center;
  justify-content: center;
  /* Match the requested height: an 80px flex-basis would override 64px. */
  flex: 0 0 64px;
  height: 64px;
  width: 50%;
  max-width: 190px;
  overflow: hidden;
}
.wccatalog .wccatalog__logo-image {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  object-position: center;
  transform: scale(var(--wcc-logo-scale, 1));
  border: 0;
  border-radius: 0;
  box-shadow: none;
  margin: 0;
  padding: 0;
}
.wccatalog .wccatalog__name {
  display: block;
  margin: 0;
  padding: 0;
  min-height: 22px;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.5;
  color: #989898;
  overflow-wrap: anywhere;
}
.wccatalog .wccatalog__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: center;
  flex: 0 0 35px;
  width: 50px;
  height: 35px;
  margin: 5px 0 0;
  padding: 0;
  border: 0;
  border-radius: 30px;
  background: #242424;
  color: #fff;
  box-shadow: 0 0 0 1px rgb(255 255 255 / 15%);
}
.wccatalog .wccatalog__arrow svg { display: block; flex: none; width: 14px; height: 14px; transition: transform .18s ease; }
.wccatalog .wccatalog__empty-action { display: block; height: 35px; flex: 0 0 35px; margin-top: 5px; }
@media (hover: hover) and (pointer: fine) {
  .wccatalog .wccatalog__card--active:hover { transform: translateY(-3px); box-shadow: 0 8px 20px rgb(36 36 36 / 6%); }
  .wccatalog .wccatalog__card--active:hover .wccatalog__arrow svg { transform: translateX(3px); }
}
@media (max-width: 1199px) {
  .wccatalog .wccatalog__grid { --wcc-track-min: calc((100% - 48px) / 4); gap: 16px; }
  .wccatalog .wccatalog__heading { font-size: clamp(26px, 2.7vw, 32px); margin-bottom: 36px; }
}
@media (max-width: 767px) {
  .wccatalog .wccatalog__grid { --wcc-track-min: calc((100% - 12px) / 2); --wcc-card-min: 120px; gap: 12px; }
  .wccatalog .wccatalog__heading { font-size: clamp(24px, 6vw, 28px); margin-bottom: 28px; }
  .wccatalog .wccatalog__card { padding: 18px 12px 16px; border-radius: 20px; }
}
@media (max-width: 359px) {
  .wccatalog .wccatalog__grid { --wcc-track-min: calc((100% - 8px) / 2); gap: 8px; }
  .wccatalog .wccatalog__card { padding-inline: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  .wccatalog .wccatalog__card, .wccatalog .wccatalog__arrow svg { transition: none; }
  .wccatalog .wccatalog__card--active:hover, .wccatalog .wccatalog__card--active:hover .wccatalog__arrow svg { transform: none; }
}
