/* Crysten Curry Elementor Widget - Product Tiles (fonts come from fonts.css) */

.cc-tiles-wrap {
  --cc-t-bg: #FDFBF5;
  --cc-t-maxw: 1680px;
  --cc-t-gutter: clamp(20px, 3vw, 48px);
  --cc-t-pad: clamp(48px, 7vw, 110px);
  --cc-t-line: #1B1A1A;
  --cc-t-label: #520000;
  --cc-t-title: #1B1A1A;
  width: 100%;
  font-size: 13px;
  line-height: 1.85;
  box-sizing: border-box;
}
.cc-tiles-wrap *, .cc-tiles-wrap *::before, .cc-tiles-wrap *::after { box-sizing: border-box; }

.cc-tiles-section { background: var(--cc-t-bg); padding-block: var(--cc-t-pad); }
.cc-tiles__inner { max-width: var(--cc-t-maxw); margin: 0 auto; padding-inline: var(--cc-t-gutter); }

.cc-tiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(14px, 2vw, 32px); }
.cc-tile { display: block; text-decoration: none; }
.cc-tile__img { overflow: hidden; background: #E8E2D8; }
.cc-tile__img img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 25%; transition: transform .8s cubic-bezier(.2, .7, .2, 1); }
.cc-tile:hover .cc-tile__img img { transform: scale(1.035); }
.cc-tile__meta { display: flex; justify-content: space-between; gap: 14px; padding: 14px 0 12px; border-bottom: 1px solid var(--cc-t-line); }
.cc-tiles-wrap .cc-tile__label {
  margin: 0 0 4px;
  font-family: "IBM Plex Mono", "Courier New", monospace;
  font-size: 11px;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--cc-t-label);
}
.cc-tiles-wrap .cc-tile__title {
  margin: 0;
  font-family: "Archivo", "Helvetica Neue", Arial, sans-serif;
  font-size: clamp(15px, 1.35vw, 20px);
  font-weight: 800;
  line-height: 1.15;
  color: var(--cc-t-title);
}
.cc-tile .cc-ico { width: 16px; height: 16px; flex: none; margin-top: 4px; stroke: var(--cc-t-title); fill: none; stroke-width: 1.6; }

@media (max-width: 760px) { .cc-tiles { grid-template-columns: 1fr; } }
.cc-tile:focus-visible { outline: 2px solid #B0122A; outline-offset: 3px; }
