/* Premium styles are isolated from theme and rail geometry. */
.cr-pro-collection,
.cr-pro-motion,
.cr-pro-skin {
  min-inline-size: 0;
  max-inline-size: 100%;
}
.cr-wishlist,
.cr-autoplay-toggle {
  padding: 9px 14px;
  border-radius: 9px;
  border: 1px solid #a8aea2;
  background: transparent;
  color: inherit;
  cursor: pointer;
}
.cr-pro-filter :focus-visible,
.cr-wishlist:focus-visible,
.cr-complete-look a:focus-visible {
  outline: 3px solid #657f54;
  outline-offset: 3px;
}
.cr-complete-look {
  margin-block-start: 24px;
  max-inline-size: 100%;
  overflow: hidden;
}
.cr-look-row {
  display: flex;
  gap: 12px;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 5px;
  overscroll-behavior-inline: contain;
}
.cr-look-row a {
  flex: 0 0 125px;
  color: inherit;
  text-decoration: none;
}
.cr-look-row img {
  display: block;
  inline-size: 100%;
  block-size: 120px;
  object-fit: contain;
}
.cr-look-row span {
  display: block;
}
.cr-pro-settings {
  padding: 24px;
  border: 1px solid #ccd0d4;
  border-radius: 12px;
  background: #fff;
  margin-block: 24px;
}
.cr-pro-settings fieldset {
  padding-block: 16px;
  border-block-end: 1px solid #ddd;
}
.cr-theme-boutique {
  --cr-ink: #584741;
  --cr-muted: #8a6c64;
  --cr-accent: #8a5669;
}
.cr-theme-dark {
  --cr-ink: #f3f0e9;
  --cr-muted: #c4c8be;
  --cr-accent: #adc69a;
  color: #f3f0e9;
  background: #202620;
  border-radius: 12px;
}
.cr-theme-festive {
  --cr-ink: #682329;
  --cr-muted: #8c7141;
  --cr-accent: #a37b21;
  color: #682329;
}
.cr-theme-festive .cr-rope-svg path {
  stroke: #ac852f;
}
.cr-theme-dark .cr-rope-svg path {
  stroke: #d2bb86;
}
.cr-rail-pipe .cr-rope-svg path {
  stroke: #939da3;
  stroke-width: 7;
  filter: drop-shadow(0 2px 1px #313c4350);
}
.cr-rail-chain .cr-rope-svg path {
  stroke: #7c8587;
  stroke-width: 6;
  stroke-dasharray: 9 3;
  stroke-linecap: round;
}
.cr-pro-motion[data-sway="1"] .cr-item:hover .cr-garment {
  animation: cr-gentle-sway 2.8s ease-in-out infinite;
  transform-origin: 50% 0;
}
.cr-autoplay-toggle {
  font-size: 0.8em;
  margin: 8px;
}
.cr-theme-dark button,
.cr-theme-dark input,
.cr-theme-dark select {
  color: inherit;
}
.cr-theme-dark select option {
  color: #202620;
  background: #fff;
}
@keyframes cr-gentle-sway {
  0%,
  100% {
    rotate: 0deg;
  }
  35% {
    rotate: 1deg;
  }
  70% {
    rotate: -1deg;
  }
}
@media (prefers-reduced-motion: reduce) {
  .cr-pro-motion .cr-item:hover .cr-garment {
    animation: none !important;
  }
}
@media (max-width: 600px) {
  .cr-pro-settings {
    padding: 14px;
  }
  .cr-look-row a {
    flex-basis: 105px;
  }
}

.cr-pro-colors button span {
  display: inline-block;
  inline-size: 16px;
  block-size: 16px;
  background: var(--cr-swatch);
  border: 1px solid #999;
  border-radius: 50%;
  margin-inline-end: 5px;
  vertical-align: middle;
}

.cr-rail-pipe .cr-rack:not(.cr-curved) > .cr-track-shell:before {
  height: 7px;
  background: linear-gradient(#d4dadd, #7b878d, #d4dadd);
}
.cr-rail-chain .cr-rack:not(.cr-curved) > .cr-track-shell:before {
  height: 6px;
  background: repeating-linear-gradient(
    90deg,
    #727c80 0 9px,
    transparent 9px 12px
  );
}

.cr-theme-dark .cr-rack {
  color: #f3f0e9;
}
.cr-theme-dark .cr-name,
.cr-theme-dark .cr-controls button {
  color: #f3f0e9;
}

.cr-theme-dark .cr-rack {
  --cr-ink: #f3f0e9;
  --cr-line: #65735f;
  --cr-paper: transparent;
}
.cr-theme-boutique .cr-rack {
  --cr-ink: #584741;
  --cr-line: #d8beba;
}
.cr-theme-festive .cr-rack {
  --cr-ink: #682329;
  --cr-line: #ba984e;
}
.cr-theme-festive .cr-glass-bay {
  border-color: #ac852f;
}
.cr-theme-boutique .cr-glass-bay {
  border-color: #b28c7d;
}


/* Wrap according to the available collection width, including sidebar embeds. */
.cr-pro-collection .cr-pro-filter {
  --cr-filter-text: #202639;
  --cr-filter-muted: #505971;
  --cr-filter-line: #ccd1df;
  --cr-filter-accent: #4338a0;
  --cr-filter-field: #fff;
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: 12px 16px;
  margin: 12px auto;
  inline-size: min( calc(100% - 24px), 76rem );
  padding: clamp(12px, 2vw, 20px);
  border: 1px solid var(--cr-filter-line);
  border-radius: 16px;
  background: #f9f8ff;
  color: var(--cr-filter-text);
  font-size: 14px;
  line-height: 1.4;
}
.cr-theme-dark .cr-pro-filter {
  --cr-filter-text: #f3f0ff;
  --cr-filter-muted: #ddd7f0;
  --cr-filter-line: #767287;
  --cr-filter-accent: #bdb4ff;
  --cr-filter-field: #262435;
  background: #1d1b2a;
}
.cr-pro-filter > * { min-inline-size: 0; max-inline-size: 100%; }
.cr-pro-filter > label,
.cr-pro-filter .cr-pro-price label {
  display: grid;
  gap: 5px;
  margin: 0;
  min-inline-size: 0;
  font-weight: 600;
  overflow-wrap: anywhere;
}
.cr-pro-filter > label:not(.cr-pro-stock) { flex: 1 1 8rem; }
.cr-pro-filter > .cr-pro-search { flex-basis: 100%; }
.cr-pro-filter .cr-pro-price {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  flex: 2 1 15rem;
}
.cr-pro-filter input:not([type="hidden"]):not([type="checkbox"]),
.cr-pro-filter select,
.cr-pro-filter button {
  box-sizing: border-box;
  min-block-size: 44px;
  min-inline-size: 0;
  max-inline-size: 100%;
  margin: 0;
  padding: 7px 10px;
  border: 1px solid var(--cr-filter-line);
  border-radius: 9px;
  background: var(--cr-filter-field);
  color: var(--cr-filter-text);
  font: inherit;
  box-shadow: none;
}
.cr-pro-filter input:not([type="hidden"]):not([type="checkbox"]),
.cr-pro-filter select { inline-size: 100%; font-size: 16px; }
.cr-pro-filter .cr-pro-colors {
  flex: 2 1 15rem;
  padding: 0;
  margin: 0;
  border: 0;
}
.cr-pro-filter .cr-pro-colors legend {
  max-inline-size: 100%;
  padding: 0 0 5px;
  margin: 0;
  color: inherit;
  font-weight: 600;
  overflow-wrap: anywhere;
}
.cr-pro-color-options,
.cr-pro-filter-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.cr-pro-filter-buttons { flex: 1 1 11rem; }
.cr-pro-filter-buttons button { flex: 1 1 auto; }
.cr-pro-filter button { cursor: pointer; overflow-wrap: anywhere; }
.cr-pro-filter button[aria-pressed="true"] {
  border-color: var(--cr-filter-accent);
  box-shadow: inset 0 0 0 1px var(--cr-filter-accent);
  color: var(--cr-filter-accent);
}
.cr-pro-filter button[type="submit"] {
  background: #4338a0;
  border-color: #4338a0;
  color: #fff;
  font-weight: 700;
}
.cr-pro-filter .cr-pro-stock {
  display: flex;
  align-items: center;
  gap: 8px;
  min-block-size: 44px;
  flex: 1 1 8rem;
  cursor: pointer;
}
.cr-pro-filter .cr-pro-stock input {
  flex: none;
  inline-size: 18px;
  block-size: 18px;
  margin: 0;
  accent-color: var(--cr-filter-accent);
}
.cr-pro-filter .cr-pro-status {
  flex-basis: 100%;
  margin: 0;
  color: var(--cr-filter-muted);
  overflow-wrap: anywhere;
}
.cr-pro-filter .cr-pro-status:empty { position: absolute; }
.cr-pro-filter :focus-visible {
  outline: 2px solid var(--cr-filter-accent);
  outline-offset: 2px;
}

.cr-summary .cr-wishlist-actions {
  display: grid;
  justify-items: start;
  gap: 6px;
  margin-block: 14px 10px;
}
.cr-summary .cr-wishlist-actions .cr-wishlist {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-block-size: 44px;
  max-inline-size: 100%;
  padding: 8px 13px;
  border: 1px solid #c4d4c1;
  border-radius: 999px;
  background: #fff;
  color: #294632;
  font: inherit;
  font-size: .9rem;
  font-weight: 600;
  white-space: normal;
  text-align: start;
}
.cr-summary .cr-wishlist::before { content: "♡" / ""; font-size: 1.25em; }
.cr-summary .cr-wishlist[aria-pressed="true"] {
  background: #eaf3e8;
  border-color: #8bab88;
}
.cr-summary .cr-wishlist[aria-pressed="true"]::before { content: "♥" / ""; }
.cr-summary .cr-wishlist:disabled { cursor: wait; opacity: .65; }
.cr-summary .cr-wishlist-status {
  color: #496250;
  font-size: .82rem;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
.cr-summary .cr-wishlist-status:empty { position: absolute; }
.cr-summary .cr-wishlist-provider { margin-block: 14px 10px; }
