/* Ensure CMS pages take full width */
.cms-root .container { max-width:1200px; width:100%; margin:0 auto; padding:16px }

/* Force the grid to behave */
.cms-root #experiencesList,
.cms-root #shopList { width:100% }

.cms-root .exp-grid,
.cms-root .shop-grid {
  display:grid !important;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)) !important;
  gap:24px !important;
  align-items:start;
}

/* Reset any theme limits that might be shrinking cards/images */
.cms-root .card { width:auto !important; max-width:none !important }
.cms-root .card * { max-width:unset }
.cms-root img { max-width:100% !important; height:auto }

/* Card visuals */
.cms-root .card {
  background:#fff; border:1px solid #e5e7eb; border-radius:16px;
  overflow:hidden; box-shadow:0 1px 2px rgba(0,0,0,.04)
}
.cms-root .card-img {
  width:100% !important; height:auto;
  aspect-ratio:16/9; object-fit:cover; display:block
}
.cms-root .card-body { padding:16px }
.cms-root .card-row { display:flex; gap:8px; align-items:center; margin-top:12px }

/* Optional: tighter layout on small screens */
@media (max-width: 420px){
  .cms-root .exp-grid, .cms-root .shop-grid {
    grid-template-columns: 1fr !important;
  }
}
