/* Crysten Curry Elementor Widget - Content Row (fonts come from fonts.css) */

.cc-cr-wrap {
  --cc-cr-bg: #FBFAF8;
  --cc-cr-label: #520000;
  --cc-cr-title: #0A0708;
  --cc-cr-text: #4A4447;
  --cc-cr-arrow: #520000;
  --cc-cr-w: 260px;
  --cc-cr-gap: clamp(10px, 1.2vw, 20px);
  --cc-cr-gutter: clamp(20px, 3.2vw, 56px);
  width: 100%;
  font-family: "Manrope", "Helvetica Neue", Arial, sans-serif;
  font-size: 15px;
  line-height: 1.6;
  box-sizing: border-box;
}
.cc-cr-wrap *, .cc-cr-wrap *::before, .cc-cr-wrap *::after { box-sizing: border-box; }

.cc-cr { background: var(--cc-cr-bg); padding: clamp(36px, 4.5vw, 72px) 0; }
.cc-cr__inner { max-width: 1680px; margin: 0 auto; padding-inline: var(--cc-cr-gutter); }

.cc-cr__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px 48px; flex-wrap: wrap; margin-bottom: clamp(20px, 2.4vw, 36px); }
.cc-cr-wrap .cc-cr__label { display: block; margin-bottom: 8px; font-size: 11px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--cc-cr-label); }
.cc-cr-wrap .cc-cr__title {
  margin: 0;
  font-family: "Cormorant Garamond", "Cormorant", Georgia, serif;
  font-size: clamp(2.2rem, 4.4vw, 4.6rem);
  font-weight: 400;
  line-height: .95;
  letter-spacing: -.01em;
  text-transform: uppercase;
  color: var(--cc-cr-title);
}
.cc-cr-wrap .cc-cr__desc { margin: 0; max-width: 34em; flex: 1 1 320px; color: var(--cc-cr-text); }

/* ---- the row ---- */
.cc-cr__rail { position: relative; }
.cc-cr__track {
  display: flex;
  gap: var(--cc-cr-gap);
  align-items: flex-start;
  margin: 0;
  padding: 0;
  list-style: none;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x proximity;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.cc-cr__track::-webkit-scrollbar { display: none; }
.cc-cr-item { flex: 0 0 var(--cc-cr-w); width: var(--cc-cr-w); margin: 0; padding: 0; list-style: none; scroll-snap-align: start; }

.cc-cr-item__media { position: relative; display: block; width: 100%; overflow: hidden; background: #E8E2D8; }
.cc-cr-item__media--img { aspect-ratio: var(--cc-cr-ratio, 4 / 5); }
.cc-cr-item__media--auto { aspect-ratio: auto; }
.cc-cr-item__media--img img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; transition: transform .8s cubic-bezier(.2, .7, .2, 1); }
.cc-cr-item__media--auto img { height: auto; }
a.cc-cr-item__media:hover img { transform: scale(1.03); }
.cc-cr-wrap .cc-cr-item__cap { margin: 8px 0 0; font-family: "IBM Plex Mono", "Courier New", monospace; font-size: 11px; letter-spacing: .05em; text-transform: uppercase; color: var(--cc-cr-text); }

/* grid mode */
.cc-cr-wrap--grid .cc-cr__track { flex-wrap: wrap; overflow: visible; scroll-snap-type: none; row-gap: clamp(14px, 1.6vw, 26px); }

/* arrows */
.cc-cr__prev, .cc-cr__next {
  appearance: none;
  -webkit-appearance: none;
  position: absolute;
  top: 42%;
  z-index: 3;
  width: 44px;
  height: 44px;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 50%;
  background: var(--cc-cr-arrow);
  box-shadow: 0 6px 20px rgba(0, 0, 0, .2);
  cursor: pointer;
  transition: transform .25s;
}
.cc-cr__prev[hidden], .cc-cr__next[hidden] { display: none; }
.cc-cr__prev { left: 10px; }
.cc-cr__next { right: 10px; }
.cc-cr__prev:hover, .cc-cr__next:hover { transform: scale(1.08); }
.cc-cr__prev svg, .cc-cr__next svg { width: 16px; height: 16px; fill: none; stroke: #fff; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.cc-cr__prev:focus-visible, .cc-cr__next:focus-visible { outline: 2px solid #0A0708; outline-offset: 3px; }
