/* =====  Quote Carousel (one quote per slide)  ===== */
.vm-qc {
    /* tweak these to match your palette */
    --qc-accent: #8a6f69;        /* arrow bg */
    --qc-accent-text: #ffffff;   /* arrow icon */
    --qc-text: #5b3f3a;          /* quote color */
    --qc-author: #6a4b46;        /* author color */
  
    --qc-gap: clamp(1.25rem, 3vw, 3rem); /* space between slides */
    position: relative;
    padding: 5rem 20px;
  }
  
  .vm-qc__viewport{
    overflow: hidden;
    position: relative;
  }
  
  /* Track: single slide in view, snap paging */
  .vm-qc__track{
    display: flex;
    gap: var(--qc-gap);
    will-change: transform;
    transform: translateX(0);   /* JS will control this */
  }
  
  /* Slide and inner container */
  .vm-qc__slide{
    flex: 0 0 100%;
    /* padding: 0 5rem; */
  }
  
  .vm-qc__inner {
    max-width: min(68ch, 900px);
    margin-inline: auto;
    text-align: center;
    padding: clamp(0.5rem, 3vw, 1rem) 0;
  }
  
  /* Author (title field) */
  .vm-qc__author{
    margin: 0 0 1.5rem 0;
    color: var(--qc-author);
    font-weight: 400;
    font-size: clamp(1.1rem, 1.2vw + 1rem, 1.6rem);
    letter-spacing: .2px;
  }
  
  /* Quote text */
  .vm-qc__quote{
    margin: 0;
    color: var(--qc-text);
    line-height: 1.55;
    font-size: clamp(1rem, 1.4vw + .85rem, 1.25rem);
    padding: 0 3.5rem;
  }
  .vm-qc__quote p{ margin: 0; }
  
  /* Circle nav buttons */
  .vm-qc__nav{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: clamp(44px, 5.5vw, 64px);
    height: clamp(44px, 5.5vw, 64px);
    border-radius: 999px;
    border: none;
    background: var(--qc-accent);
    color: var(--qc-accent-text);
    display: grid;
    place-items: center;
    cursor: pointer;
    box-shadow: 0 6px 18px rgba(0,0,0,.12);
  }
  .vm-qc__nav--prev{ left: .5rem; }
  .vm-qc__nav--next{ right: .5rem; }
  .vm-qc__nav:disabled{ opacity:.35; cursor: default; }
  .vm-qc__nav:focus-visible{ outline: 3px solid rgba(0,0,0,.25); outline-offset: 3px; }
  
  /* Hide dots by default to match screenshot */
  .vm-qc__dots{ display: none; }
  
  /* Full-bleed support */
  .alignfull.vm-qc .vm-qc__track{ padding-inline: clamp(.5rem, 2vw, 2rem); }
  
  /* Mobile niceties */
  @media (max-width: 640px){
    .vm-qc__track{ gap: 1rem; }
    .vm-qc__nav--prev{ left: .25rem; }
    .vm-qc__nav--next{ right: .25rem; }
  }
  
  /* Respect reduced motion */
  @media (prefers-reduced-motion: reduce){
    .vm-qc__track{ scroll-behavior: auto; }
  }
  